Components for Developers
© 2000-2017, Two Pilots

PDF Library   EMF2PDF SDK Pilot   Virtual Printers   HTML2PDF-X Pilot   Converters   PDF Mosaic  
Home Download Pricing FAQ Support How to... Documentation Tutorials Languages Testimonials History

How to create Virtual Printer using: C++ | C# | Delphi | VB.NET | VB 

How to create Virtual Printer using VB.NET

 

Examples

Sample Client application used for testing and development purposes. This application demonstrates how to use an INI file to write print job information and paths to the generated files.
Download Sample Client Application: Virtual Printer for VB.NET

Print Previewer - a sample application demonstrating the features of the virtual printer. Print Previewer, which may be used in custom client applications, provides detailed information about printed files and displays the EMF files inside a form. The sample contains code that outputs the metafile to the screen.
Download Print Previewer: Virtual Printer for VB.NET

Collecting Multiple Documents - in this example we'll create a more powerful client which will be able to collect files from multiple printed documents into collection and transfer them in a zip archive to a remote machine using ftp or http protocols.
Download Collecting Multiple Documents: Virtual Printer for C#/C++, VB6/VB.NET

How to print files programmatically using the ShellExecute function

 

How to print files programmatically using the ShellExecute function

The code sample below demonstrates how to print files programmatically on either a physical or a virtual printer using the ShellExecute function. It also demonstrates how to change the default system printer.

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

Then it's necessary to call these functions with the required parameters. For example, you can print MS Word and PDF documents this way:

PrintDocumentUsingShellExecute "Your Virtual Printer", "c:\Documents\AnyDocument.doc"
PrintDocumentUsingShellExecute "Your Virtual Printer", "c:\ Documents \AnyDocument.pdf"

How to create Virtual Printer using: C++ | C# | Delphi | VB.NET | VB 

Home Download Pricing FAQ Support How to... Documentation Tutorials Languages Testimonials History

 

PDF Library | EMF2PDF SDK Pilot | Virtual Printers
HTML2PDF-X Pilot | Converters | PDF Mosaic

Support | Blog
Contact | About | Site map

© 2000-2017, Two Pilots