Erstellung eines virtuellen Druckers mit VB.NET
Examples
◊ 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 VB.NET
◊ Print Previewer - Beispielsanwendung, die die Features des virtuellen Druckers demonstriert. Print Previewer, der in benutzerdefinierten Client-Anwendungen benutzt wird, bietet detaillierte Informationen über gedruckte Dateien und zeigt die EMF-Dateien innerhalb des Formulars. Das Beispiel enthält den Code, der die Metadatei auf den Bildschirm ausgibt.
Print Previewer downloaden:
Virtual Printer für VB.NET
◊ 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.
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
' get the default printer
GetDefaultPrinter(szDefaultPrinter, bufferSize)
' change the default printer
If String.Compare(szPrinter, szDefaultPrinter.ToString(), True) <> 0 Then
SetDefaultPrinter(szPrinter)
End If
' send the document to the print
Dim printProcess As Process = New Process
printProcess.StartInfo.FileName = szDocumentPath
printProcess.StartInfo.Verb = "Print"
printProcess.StartInfo.CreateNoWindow = True
printProcess.Start()
'set default printer back to original
If String. Compare(szPrinter, szDefaultPrinter.ToString()) <> 0 Then
SetDefaultPrinter( szDefaultPrinter.ToString())
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"