IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Impression plusieurs fichiers [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 46
    Par défaut Impression plusieurs fichiers
    Bonjour,

    Étant un débutant j’ai quelques questions à vous poser pour m'éclaircir les idées :

    Je dois imprimer plusieurs fichiers (.pdf ou .doc) présent dans un même dossier mais je ne sais pas du tout par où commencer.

    Pour les pdf j'ai plus voir sur internet qu'il faut passer par le reader d'adobe pour les imprimer, n'y a t' il pas un autre moyen ?

    Et du coup pour les .doc est ce que je vais être aussi obliger de passer par office ou un autre logiciel pour les imprimer ?

    Le mieux serais que je n'ai pas à passer par ces logiciels car tous les fichiers que je dois imprimer contiennent 2 pages. Je dois lancer l'impression de la 1er page sur le bac 1 et la 2eme page sur le bac 2 de l'imprimante.

    Merci

    Edit : j'ai trouvé ceci sur internet.
    http://www.pdfpilot.com/virtual-prin...to-vb-net.html

    Je vais me pencher la dessus.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 46
    Par défaut
    Un petit Up

    Voila ce que j'ai réussi à faire : l'impression se lance donc pas de soucis de ce côté par contre je bug toujours sur le choix du bac je ne vois pas comment faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Imports System.IO
    Imports System
    Imports System.Text
    Imports System.Drawing.Printing
    Public Class Form1
        Dim chemin As String
        Private Sub bt1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt1.Click
     
            chemin = tb1.Text
     
     
            Dim Liste() As String
            Dim Pattern As String = "*.*"
     
     
            Liste = System.IO.Directory.GetFileSystemEntries(chemin, Pattern)
     
     
            For Each file In Liste
                PrintDocumentUsingShellExecute("Brother DCP-8085DN Printer", file)
     
            Next
        End Sub
        Declare Function GetDefaultPrinter Lib "winspool.drv" Alias "GetDefaultPrinterA" (ByVal szPrinter As StringBuilder,
    		ByRef bufferSize As Int32) As Boolean
     
    Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal szPrinter As String) As Boolean
     
        Public Sub PrintDocumentUsingShellExecute(ByVal szPrinter As String,
          ByVal szDocumentPath As String)
     
            Dim szDefaultPrinter As StringBuilder = New StringBuilder(256)
            Dim bufferSize As Integer = szDefaultPrinter.Capacity
     
     
            GetDefaultPrinter(szDefaultPrinter, bufferSize)
     
     
            If String.Compare(szPrinter, szDefaultPrinter.ToString(), True) <> 0 Then
                SetDefaultPrinter(szPrinter)
            End If
     
     
            Dim printProcess As Process = New Process
            printProcess.StartInfo.FileName = szDocumentPath
            printProcess.StartInfo.Verb = "Print"
            printProcess.StartInfo.CreateNoWindow = True
            printProcess.Start()
     
     
            If String.Compare(szPrinter, szDefaultPrinter.ToString()) <> 0 Then
                SetDefaultPrinter(szDefaultPrinter.ToString())
            End If
     
        End Sub
    End Class

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 46
    Par défaut
    J'ai trouvé comment choisir le bac de mon imprimante, du coup j'ai changé de méthode pour imprimer j'utilise PrintDocument et PrinterSetting au lieu de passer par un ShellExec.

    Mais je n'arrive pas à définir le fichier à imprimer j'ai une erreur à cette ligne :
    La référence d'objet n'est pas définie à une instance d'un objet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    doc.PrinterSettings.PrintFileName = file

    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
            Imports System.IO
    Imports System
    Imports System.Text
    Imports System.Drawing.Printing
     
    Public Class Form1
        Dim chemin As String
        Dim doc As PrintDocument
        Private Sub bt1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt1.Click
     
            chemin = tb1.Text
     
            Dim Liste() As String
            Dim Pattern As String = "*.*"
     
            Liste = System.IO.Directory.GetFileSystemEntries(chemin, Pattern)
     
     
            For Each file In Liste
     
                doc.PrinterSettings.PrintFileName = file
                doc.PrinterSettings.FromPage = 0
                doc.PrinterSettings.ToPage = 1
                doc.PrinterSettings.PrinterName = "Brother DCP-8085DN Printer"
                doc.DefaultPageSettings.PaperSource.SourceName = "Lower"
                doc.Print()
                doc.PrinterSettings.FromPage = 1
                doc.PrinterSettings.ToPage = 2
                doc.DefaultPageSettings.PaperSource.SourceName = "Middle"
                doc.Print()
            Next
        End Sub
    Et j'ai une petite question :
    Si je définie les paramètres de l'imprimante avec PrinterSetting. Est ce que si je lance l'impression avec ShellExecute, les paramètres de l'imprimante précédemment ajouté seront ils prient en compte ou alors cela ne marche qu'avec le PrintDocument.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impression PDFCreator avec plusieurs fichiers excel...
    Par seblenor dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2014, 08h46
  2. Impression à la chaine de plusieurs fichiers
    Par Thomas_13 dans le forum Word
    Réponses: 3
    Dernier message: 21/08/2013, 22h23
  3. Réponses: 8
    Dernier message: 14/06/2010, 13h38
  4. [FBide] Impression de plusieurs fichiers
    Par gmcc34 dans le forum Basic
    Réponses: 1
    Dernier message: 28/05/2009, 09h46
  5. Génerer automatiquement plusieurs fichier .doc
    Par brunovitch dans le forum QuickReport
    Réponses: 3
    Dernier message: 09/07/2002, 08h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo