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.
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.
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 :
bon 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
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
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.
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
Merci beaucoup pour cette astuce![]()
Partager