Génération de PDF avec Visual Basic 6 / Imprimante PDF
Cet exemple vous montre comment créer un PDF à partir d'une application VB6.
Lorsque le code est exécuté, le système d'impression VB6 est utilisé pour générer le travail d'impression. Ce travail est envoyé à l'imprimante PDF, qui crée finalement le PDF. La génération PDF prend en compte les paramètres qui ont été spécifiés dans le fichier de configuration runonce.ini avant le démarrage de l'impression.
Une fois le travail d'impression envoyé à l'imprimante / spouleur, le code attend que le fichier runonce.ini s'affiche. Cela garantit que l'utilisateur ne double-clique pas sur le bouton avant que les paramètres actuellement définis aient été lus par l'imprimante PDF.
- Option Explicit
- Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
- Const SETTINGS_PROGID = "Pdf7.PDFSettings"
- Const UTIL_PROGID = "Pdf7.PDFUtil"
- Private Function PrinterIndex(ByVal printerName As String) As Integer
- Dim i As Integer
- For i = 0 To Printers.Count - 1
- If LCase(Printers(i).DeviceName) Like LCase(printerName) Then
- PrinterIndex = i
- Exit Function
- End If
- Next
- PrinterIndex = -1
- End Function
- Private Sub cmdPrint_Click()
- Dim prtidx As Integer
- Dim sPrinterName As String
- Dim settings As Object
- Dim util As Object
- Set util = CreateObject(UTIL_PROGID)
- sPrinterName = util.defaultprintername
- Rem -- Configure the PDF print job
- Set settings = CreateObject(SETTINGS_PROGID)
- settings.printerName = sPrinterName
- settings.SetValue "Output", "\myfile.pdf"
- settings.SetValue "ConfirmOverwrite", "no"
- settings.SetValue "ShowSaveAS", "never"
- settings.SetValue "ShowSettings", "never"
- settings.SetValue "ShowPDF", "no"
- settings.SetValue "RememberLastFileName", "no"
- settings.SetValue "RememberLastFolderName", "no"
- settings.WriteSettings True
- Rem -- Find the index of the printer
- prtidx = PrinterIndex(sPrinterName)
- If prtidx < 0 Then Err.Raise 1000, , "No printer was found by the name of '" & sPrinterName & "'."
- Rem -- Set the current printer
- Set Printer = Printers(prtidx)
- Rem -- Print something
- Printer.FontSize = 50
- Printer.Print "Hello VB6..."
- Printer.FontSize = 20
- Printer.ForeColor = vbBlue
- Printer.Print "The time is " & Now
- Printer.EndDoc
- Rem -- Wait for runonce settings file to disappear
- Dim runonce As String
- runonce = settings.GetSettingsFilePath(True)
- While Dir(runonce, vbNormal) <> ""
- Sleep 100
- Wend
- MsgBox "myfile.pdf was saved on your desktop", vbInformation, "PDF Created"
- End Sub
Téléchargements
appendice | taille |
---|---|
Télécharger l'exemple de code | 2.26 KB |