A good PDF printer tool can be amazingly versatile

As the name suggests a PDF printer tool is meant to put the contents of a PDF document onto paper. However, it is surprising how many applications can be built when using a printer tool in collaboration with the Windows Printing Subsystem.

Anyway, what is a PDF printer tool exactly doing? Since there are not many good printer tools on the market one might imagine that such a tool must be quite complex. Actually a printer tool is a specialized rendering engine. In addition to pure rasterization the printer tool has to deal with the conversion of the PDF graphics language to the language of the printer device such as PostScript, PCL and the controlling of device properties such as the selected bin, the paper format, the orientation etc.

On the Windows operating system the printing subsystem provides an abstraction layer for generating the grapics and controlling the device. The native Windows interface to this layer is the GDI (Graphics Device Interface). Since Windows Vista GDI has been complemented by a technology based on XPS (XML Paper Specification). So, in a Windows environment the main function of a PDF printer tool is to convert the PDF graphics language to GDI calls or to an XPS stream.

Given this basic architecture it is obvious that the PDF printer tool can be used to convert PDF documents into EMF (Enhanced Metafile Format) and XPS data streams. EMF is essentially used by windows to record a sequence of GDI calls which can be replayed to display a page on a screen or send the page to a physical printer. A flavor of EMF is used by Windows as one of its native spool file formats.

Let us go a step further and explore possible applications when using the available printer drivers to store the spool output on a disk file. When using this the PDF printer tool can easily convert PDF documents to the widely spread printer language formats such as PostScript, PCL, and others.

But printer drivers can also produce output formats which are not intended be printed on paper such as TIFF, JPEG and again PDF. Printing to such virtual devices provides a wide variety of new applications. Of course, there might be more specialized and better suited tools to convert PDF to those document formats. However, in some output management applications the print stream to a physical printer has to be recorded to let's say a TIFF for later reprinting or to a PDF/A for archiving.

If you have found applications which are not described here then please let me know and post a comment.