3-Heights™ PDF Printer – Bulk Print PDF in Batch, C# or Java

Developer component – PDF documents are used in many areas of business and need to fulfill differing demands with regard to printing. These include a high throughput rate, high visual fidelity even with complex documents, PDF/A-conform printing, printing on paper or in print datastreams such as PostScript, PCL and XPS. The 3-Heights™ PDF Printer fulfills all these requirements as a professional software for automated PDF printing as batch via command line, using watched folders or programmatically using the API, e.g. with C#, Visual Basic, Java or C/C++.

Quality PDF Printing

Print complex PDF fast and accurately, send PDF to printers or PS and PCL streams

Reliable PDF Bulk Printing

Batch print PDF, high volumes at high throughput-rates, e.g. using PowerShell or CMD

Print PDF programmatically

Apply comprehensive printer settings by configuration or programmatically (C#, VB, Java, C++)

Automated printer management for PDF documents in new sales software

By using the 3-Heights™ PDF Printer, IREKS GmbH has implemented a software tool with multiple functions (e.g. printing of watermarks, setting the paper format) that also supports the management and control of output trays.

Printing bulk PDF Files at one of India’s premier clinical pathology laboratories

With the 3-Heights™ PDF Printer now implemented downstream of the in-house application, Dr Lal PathLabs is able to deliver the reports in a committed time frame which is actually far shorter than what was achieved with the previous mechanism of printing reports through the application itself.

Product illustration 3-Heights™ PDF Printer

PDF Printer - Features

  • Printing on paper or virtual printers and divert printing to a file
  • Local / remote printing
  • Select paper format
  • Select paper tray
  • Select print quality
  • Define page sequence
  • Select printer-specific properties
  • Color management control
  • Supports http, https and ftp data streams
  • Print raster images (TIFF, JPEG, PNG, etc.)
  • Group documents in one print job
  • Integrate watermarks (text, image)
  • List printers per host and printer properties (supported paper formats, trays, etc.)
  • Duplex printing
  • Select orientation
  • Print multiple copies
  • Positioning (centering, scaling, realigning)
  • Print encrypted documents
Functionality graphic 3-Heights™ PDF Printer


  • ISO 32000-1 (PDF 1.7)
  • ISO 32000-2 (PDF 2.0)
  • ISO 19005-1 (PDF/A-1)
  • ISO 19005-2 (PDF/A-2)
  • ISO 19005-3 (PDF/A-3)
  • TIFFV6

Supported formats

Input formats

  • PDF 1.0 to 1.7
  • PDF 2.0
  • PDF/A-1, PDF/A-2, PDF/A-3
  • BMP
  • GIF
  • JBIG2
  • JPEG
  • JPEG2000, JPEG-LS
  • PBM
  • PNG
  • TIFF

Output formats

  • Print spool formats, such as PostScript, PCL5, PCL6, AFP
Magnifying lens for our PDF manuals and PDF sample code


API | ShellService

Areas of use - print PDF documents

Printing from within applications

The PDF Printer component offers a flexible print function for applications for creating and processing PDF and image documents.

Batch and mass printing

The PDF Printer can be used in companies of any size as a central printing service for PDF documents and image documents. It is particularly suitable for personalized printing, ticket printing and generating paper copies from electronic archives.

Other areas of use

  • Creation of printer data streams for COLD applications
  • Receipt printer in subsidiaries
  • Web-based printing
  • Printing as the last step of a report generator

Print a PDF document

Print all or selected pages of a PDF or TIFF document to a specified printer.

C# sample:
// Create the printer object
using (Printer printer = new Printer())
    // Print input file to one specified printer
    if (!printer.PrintFile(inputPath, printerName, "", firstPage, lastPage))
        throw new Exception(String.Format("Printing input file {0} failed. " + 
            "{1} (ErrorCode: 0x{2:x}).", inputPath, printer.ErrorMessage, printer.ErrorCode));
Java sample:
// Create the printer
printer = new Printer();

// Print input file to one specified printer
if (!printer.printFile(inputPath, printerName, "", firstPage, lastPage))
    throw new IOException(String.format("Printing input file %s failed. %s (ErrorCode: 0x%08x).",
        inputPath, printer.getErrorMessage(), printer.getErrorCode()));
C sample:
// Create the printer object
pPrinter = PDFPrnCreateObject();

// Print input file to one specified printer
if (!PDFPrnPrintFile(pPrinter, szInputPath, szPrinterName, _T(""), iFirstPage, iLastPage))
    _tprintf(_T("Printing input file %s failed. %s (ErrorCode: 0x%08x).\n"), szInputPath, PDFPrnGetErrorMessage(pPrinter), PDFPrnGetErrorCode(pPrinter));
    iReturnValue = 1;
PDF Expert Blog - embedded fonts and PDF mass printing application

The problem with embedded fonts in PDF mass printing applications

PDF is more and more finding its way into mass printing applications. However, PDF spool files often ask too much from a print engine resulting in aborts or, even worse, incomplete prints which may not be noticed. What is special about PDF mass printing...

PDF Rendering 2.0 - next generation graphic engine for the complex and unique graphics model of PDF

stay informed about the
next generation of
PDF 2.0 rendering

Special - PDF rendering

The PDF graphics model is unique and differs significantly from the models of most of the publically available graphics engines. What are the requirements of a high-quality PDF rendering engine and is there a relation to PDF 2.0?

Read more about the essential part of a good PDF rendering engine