C# Virtual Printer
A virtual printer can be accessed like any other printer from within application software. Similar to the way software programs interact with the operating system’s printing APIs to print to a physical printer, some virtual printers have an application programming interface (API), which exposes certain functionality to third party software developers for the purpose of integrating and/or extending the virtual printer’s abilities.
A virtual printer vendor documents the interfaces that control the printer’s actions and settings. The exposed functionality might include generating files in the formats supported by the printer and adjusting parameters for those formats, such as the level of data compression applied when creating an image file. The use of these interfaces is made available by licensing the software library that contains them. For example, Universal Document Converter (UDC) is a virtual printer that can be licensed and included in a third party software distribution. The documentation for the UDC API illustrates how to invoke the library to perform various printing operations with examples of code in C# and other languages.
By taking advantage of an existing virtual printer solution, third party developers can more quickly and inexpensively build programs that include printing capabilities. Depending on the specifics of their APIs, virtual printing libraries may be invoked from software written in a wide variety of programming languages: C#, C++, Visual Basic, PHP, etc. In other words, a C# developer that needs to implement a C# virtual printer can use a library that has already been written, significantly cutting down on development time.