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 

Virtual Printer SDK for Windows 7, Windows 8, Windows 10, C++, C#, Delphi, VB.NET, VB. Royalty free.


Virtual Printer Driver Features:

  • print to searchable PDF
  • print to image (BMP, TIFF, JPEG, PNG)
  • print to text (ANSI, UTF-8 or Unicode)
  • act as a print server with shared printing,
    terminal services support and works in a domain
  • print job redirection to hardware printer
  • print job management: document modification, cancel printing
  • add watermarks to documents with many configuration options
  • upload files using FTP/FTPS/SFTP
  • ESC/POS receipt parser (virtual POS printer)
  • Early Access: allows to obtain converted files right after User start print a document;
  • N-Up feature: allows to print 2, 4, 6, 9 or 16 pages per sheet;
  • msi installer with full source code
  • supported OS (both x86 and x64): Windows XP, Windows Server 2003, Windows Server 2008R2, Windows Server 2012, Windows Vista, Windows 7, Windows 8/8.1, Windows 10


EMF Virtual Printer 10 32 bit, 6.9M
EMF Virtual Printer 10 64 bit , 7.7M
Developer kit: all files + installer source, 65M

Custom development service

You can use our custom development service if you need to implement any non-trivial business logic, extend or customize installer. We can add any required features to the driver.
Please contact us and describe your technical specifications in order to get estimate.



Check out Latest Documentation. 


Pricing Information

Our Virtual Printer is royalty free. Learn more about Virtual Printer Development prices...


Contact us

If you are interested in the custom virtual printer, please contact us via our on-line form. If you have comments and suggestions, please click here...


If you are a software developer, our Custom Virtual Printer SDK will help you to do the following:

  1. Generate an output in the form of standard raster or vector formats from your program (or from any other software application meant to produce printing forms).

    Supported output formats:

    ◊ EMF
    ◊ PDF
    ◊ TIFF with various compressions including the CCITT fax compression. Virtual printer also supports the special fax - resolutions such as 204x98 and 204x196 DPI.
    ◊ JPEG, BMP, PNG
    ◊ Plain text in different encodings (ANSI, UTF-8 or Unicode)
    ◊ PostScript (without converters from PS to other formats).

  2. Redirect the print job to other printer. Thus, when sending the document to the printer, you can save it in the set format (PDF, BMP, JPEG, TIFF, PNG, TXT) and print it in paper form on the physical printer at the same time.
  3. Modify a virtual-printed document before sending it for actual printing.
  4. Import documents from other applications. Imported documents can be converted to your format with the use of an EMF format.

Virtual printer supports the custom paper sizes of up to 33x46", various resolutions from 100 to 2400 DPI, and multilanguage interface. You will get a printer with desired name, driver installation and uninstallation module, and integration instructions with the samples.

Our virtual printer is royalty free. The fee that you pay when you purchase a adobe acrobat virtual printer is your only expense. We do not charge any consecutive royalties. You can use the printer with your applications without any additional fees. We will make all additional customization to make sure that the printer fully conforms to your requirements. A source code is also available for purchasing. Its license allows the code modifications.

Now our driver also can work with POS printers. Here you can look at the main features summary.



October 13 2017
Fixed an issue with font size in PDF output when incoming LOGFONT structure contains a positive lfHeight value.

October 6 2017
+ ESC/POS parser now supports different text character encoding for incoming ESC/POS receipts. Here is a list of supported character encoding:
128 Japanese Shift-Jis;
129 Korean;
130 Korean Johab;
134 Chinese GB2312;
136 Chinese Big5;
161 Greek Windows-1253;
162 Turkish Windows-1254;
163 Vietnamese Windows-1258;
177 Hebrew Windows-1255;
178 Arabic Windows-1256;
186 Baltic Windows-1257;
204 Russian Windows-1251;
222 Thai Windows-874;
238 East Europe Windows-1252.

September 19 2017
+ Inter-character spacing for the PDF output has been fixed;
+ Font selection from the TrueType Collection for Asian fonts has been fixed;


What people are saying about our Virtual Printer

This was the second product I bought from Two Pilots and I'm very happy with it. I evaluated some other competitive products in the virtual printer area before, but there were problems with all of them. The virtual printer driver from Two Pilots is not the cheapest one, but worth every single Euro, because it just works perfectly. And if you have any problems or questions there will be a fast and competent answer from their support team. Additionally they are very flexible if you needs something special like me. Thanks for this great product and your support!

Andreas Breitschopp

More ...


More ...


How the Virtual Printer Works

  1. The user prints a document to the virtual printer from any application.
  2. The virtual printer intercepts the print job and saves each printed page as EMF file.
  3. The virtual printer converts EMF files to specified output formats. All files are saved in the current user temporary directory or specified output directory.
  4. The virtual printer creates an INI file with print job information and paths to the generated files.
  5. The virtual printer sends the path of this INI file to a specified application using one of following transfer modes:

    ◊ Command line transfer mode. The virtual printer will run the specified application with the path of the INI file in the command line parameters.
    ◊ WM_COPYDATA transfer mode. The printer runs the specified application (or looks for a running instance) and sends it the path of the INI file using a WM_COPYDATA message.
    ◊ Named pipe transfer mode. The printer runs the specified application and sends it the path of the INI file using a named pipe.

  6. Your application receives the INI file and parses it. Now you can perform any final actions (moving files, transferring files, etc.). You should delete files from the output directory when you are finished.

Check Frequently Asked Questions ( FAQ ) page for more details about virtal printer driver.


Virtual Printer SDK Tutorials

You can see Virtual Printer Tutorials how to use our virtual printer technology in your applications.


Our Other Software Development Tools

PDF Printer Pilot converts files into PDF using the Virtual Printer. You can download demo example of the developer version of PDF Printer Pilot here:
PDF Printer Pilot Automated Example (1.3M)
This demo driver shows how PDF Printer Pilot can be automated and controlled through ActiveX/COM interfaces.

◊ The PDF Creator Pilot library is used in the Virtual Printer to generate PDF documents. More...

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