PDF Print API on Windows

Q: We evaluated many PDF components and PDFTron API has definitely the
best usability, features and print management. Unfortunately we get
very big spool jobs (~500mb+) in memory for printing a single page of
an colored DIN A0 CAD drawing. Maybe, we are doing something wrong?
Are there any settings we could make to get a better spool/print
performance? thank you for your patience.
----------------------

A: How do you print PDF using PDFNet? PDFNet offers several ways to
print files. Based on your description I assume that you are
rasterizing a big bitmap (e.g. using PDFDraw) which you are then
sending to a printer. You can achieve much better performance using
the GDI+ rasterizer (i.e.
pdfdraw.SetRasterizerType(PDFRasterizer.Type.e_GDIPlus)). This
rasterizer is using GDI+ to spool EMF vector commands instead of
bitmap. The main problem with EMF (and this problem is also present in
any other solution based on GDI/EMF) is that it is not fully
compatible with PDF and you may run into cases where the file will not
print properly (e.g. special blend modes, transparency groups,
shadings, etc) or will revert again to bitmap printing.

In the latest (5.01) version of PDFNet there is yet another way to
print PDF files (please see the updated PDFPrint sample -
http://www.pdftron.com/pdfnet/samplecode.html#PDFPrint). Using
pdftron::Print::StartPrintJob(..) you can print PDF files via XPS
print path which offers superior quality and performance compared to
either of the above solutions. The only drawback is that Microsoft
currently does not seem to offer backward support for XPS Print API on
Win XP (it is supported on Windows 7 and Vista with SP/Platform
Upgrade). In case of XP StartPrintJob() reverts to slightly optimized
version of built-in rasterizer and there is a hint option that can be
used to select vector printing with GDI+.