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 :

Imprimante par défault


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 39
    Par défaut Imprimante par défault
    Bonjour,

    Je voudrais savoir comment définir une imprimante par défaut, c'est à dire la je voudrais toujours lancer pdf creator sans passer par l'utilisateur.

    Merci de votre aide.

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour Jupsx
    Tu veux dire recupere l'imprimante par defaut et imprimer dessus?....
    Si c'est cela la question alors tu as besoin de ce bout de code.
    On utilise
    - la classe PrinterSettings pour parcourir la liste des imprimantes installees
    - une fonction auxiliaire DefaultPrinterName pour recuperer le nom de l'imprimante par default.
    Une fois ce nom obtenu on l'affecte à notre PrintDocument1 avant de lancer l'impression....
    code exemple :
    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
     
    Imports System.Drawing.Printing
    Public Class Form1
        'utilise la classe PrinterSettings
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Me.TextBox1.Clear()
            For Each strPrinter As String In PrinterSettings.InstalledPrinters
                Me.ListBox1.Items.Add(strPrinter)
                If strPrinter = DefaultPrinterName() Then
                    Me.TextBox1.Text = strPrinter
                End If
            Next
            If Not String.IsNullOrEmpty(Me.TextBox1.Text) Then
                'affecte default printer trouve à PrintDocument1
                Me.PrintDocument1.PrinterSettings.PrinterName = Me.TextBox1.Text
            End If
     
        End Sub
        'renvoie le nom de l'imprimante par default
        Public Shared Function DefaultPrinterName() As String
            Dim pds As New PrinterSettings
     
            Try
                DefaultPrinterName = pds.PrinterName
            Catch ex As System.Exception
                DefaultPrinterName = ""
            Finally
                pds = Nothing
            End Try
        End Function
     
     
    End Class
    bon code..................

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 39
    Par défaut
    Oui enfin si tu veux je veux lui dire de prendre une imprimante que je vais lui définir.
    Si tu préfère je vais concevoir du pdf en gardant le e.graphics.

  4. #4
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour Jupsx
    Pour faire ce que tu veux c'est le meme code legerement modifie.
    les condtions requises sont :
    -ton user doit avoir installe sur sa machine pdf creator ou à tout le moins le driver d'imprimante de pdf creator .
    -tu dois relever chez toi le nom exact de l'imprimante pdf creator(moi j'ai adobe acrobat installe et l'imprimante s'ecrit "Adobe PDF")....

    Apres cela : avant d'imprimer tu affecte ton nom d'imprimante à une chaine,tu parcours chez l'user les imprimantes installes ,si tu trouve adobe creator tu l'affecte à PrinterSettings & tu mets canprint à true.

    A la fin de la boucle si canprint vaut true tu affecte le PrinterSettings à printdocument et tu lances l'impression....
    sinon abend et tu informes l'user pourquoi......

    ce code suffit:
    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
     
     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim changePrinterDefaut As String = "PDF Creator"
            Dim canpPrint As Boolean = False
            Dim PDS As PrinterSettings = New PrinterSettings
     
            For Each strPrinter As String In PrinterSettings.InstalledPrinters
                'si PDF Creator est installe chez l'user
                'affecter à pds
                If strPrinter = changePrinterDefaut Then
                    canpPrint = True
                    PDS.PrinterName = strPrinter
                End If
            Next
            'installe =>affecter à ton imprimante à PrintDocument1
            If canpPrint Then
                Me.PrintDocument1.PrinterSettings.PrinterName = PDS.PrinterName
            Else
                MessageBox.Show("l'impression necessite l'installation de PDF Creator...Abend")
                Return
            End If
            'RAJOUT: ceci simplement pour lancer l'impression 
            Me.PrintDocument1.Print()
        End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 39
    Par défaut
    Merci beaucoup pour cette astuce

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

Discussions similaires

  1. Bouton impression avec imprimante par défault
    Par operaq dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/01/2014, 10h22
  2. Impression PDF et imprimante par défaut
    Par bobbafet dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/11/2004, 21h33
  3. Action par défault
    Par Sylvain James dans le forum XMLRAD
    Réponses: 3
    Dernier message: 18/08/2004, 19h14
  4. Probléme d'insertion par défault
    Par xavier62 dans le forum SQL
    Réponses: 7
    Dernier message: 28/11/2003, 13h03
  5. [BP]Détermination de l'imprimante par défaut
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 01/06/2003, 09h52

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