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.