Erstellung eines virtuellen Druckers mit VB6
Beispiele
◊ Sample Client application
◊ Sample Client application wird zu Test- und Entwicklungszwecken genutzt. Diese Anwendung zeigt an, wie man eine INI-Datei nutzt, um die Druckerauftrags-Informationen und -pfade in die generierten Dateien zu schreiben.
Sample Client Application downloaden:
Virtual Printer für VB6
◊ Collecting Multiple Documents - In diesem Beispiel werden wir einen leistungsstarken Client erstellen, der Dateien aus mehreren gedruckten Dokumenten zusammen sammeln wird und diese in einem ZIP-Archiv an das Remote-Gerät überträgt, indem FTP- oder HTTP-Protokolle genutzt werden.
Collecting Multiple Documents downloaden:
Virtual Printer für C#/C++, VB6/VB.NET
◊ Wie druckt man die Dateien programmatisch mithilfe der ShellExecute - Funktion
Wie druckt man die Dateien programmatisch mithilfe der ShellExecute - Funktion
Das Code-Beispiel unten zeigt an, wie man die Dateien programmatisch entweder mit dem physikalischen oder virtuellen Drucker druckt, indem man die ShellExecute - Funktion benutzt. Es demonstriert auch, wie man den standardmäßigen Systemdrucker verändert.
Private Declare Function GetDefaultPrinter Lib "winspool.drv" Alias
"GetDefaultPrinterA" (ByVal szPrinter As String, bufferSize As Long) As Long
Private Declare Function SetDefaultPrinter Lib "winspool.drv" Alias
"SetDefaultPrinterA" (ByVal szPrinter As String) As Long
Public Sub PrintDocumentUsingShellExecute(szPrinter As String, szDocumentPath As String)
Dim szDefaultPrinter, szNamePrinterBuff As String
Dim bufferSize As Long
' get the default printer
GetDefaultPrinter vbNullChar, bufferSize
szNamePrinterBuff = Space$(bufferSize)
GetDefaultPrinter szNamePrinterBuff, bufferSize
szDefaultPrinter = Left$(szNamePrinterBuff, InStr(szNamePrinterBuff, vbNullChar) - 1)
' change the default printer
If szPrinter <> szDefaultPrinter Then
SetDefaultPrinter szPrinter
End If
' send the document to the print
ShellExecute 0, "print", szDocumentPath, vbNullString, vbNullString, SW_HIDE
' set the default printer back to original
If szPrinter <> szDefaultPrinter Then
SetDefaultPrinter szDefaultPrinter
End If
End Sub
Es ist dann notwendig, diese Funktionen mit erforderlichen Parametern aufzurufen. Sie können, z.B., die MS Word- und PDF - Dokumente so drucken:
PrintDocumentUsingShellExecute "Your Virtual Printer", "c:\Documents\AnyDocument.doc" PrintDocumentUsingShellExecute "Your Virtual Printer", "c:\ Documents \AnyDocument.pdf"