ANN: PDFNet v.4.5.0 update

March 27, 2008
PDFNet v.4.0.9 update

PDFNet 4.5 for .NET/JAVA/C++ on 32-bit Windows and Linux is available
for immediate download. The 64-bit versions of the library for
Windows, Linux, and Mac will be released in April.

What’s New:

  • You will notice that PDFNet DLL is larger in file size. The reason
    for this is that PDFNet no longer depends on the external file
    (pdfnet.res). As a result, distributing ‘pdfnet.res’ and calling
    PDFNet.SetResourcePath() is no longer required for correct PDF
  • PDFNet includes a new PDF viewing control (pdftron.PDF.PDFViewCtrl)
    that significantly simplifies application development with built-in
    support for interactive form filling, markup, annotation editing, and
    custom tool development. PDFViewSimple sample is updated to illustrate
    the use on the new control, however ‘pdftron.PDF.PDFView’ is still
    available for backwards compatibility (and in case of C/C++, for low-
    level control development).
  • Support for native rendering of PDF pages in CMYK and DeviceN color
    spaces. This feature is essential for graphics workflows that require
    accurate color reproduction in CMYK. A new sample project
    (PDFDrawCMYK) is included for developers wishing to learn more about
    CMYK rasterizer or how to convert PDF pages to CMYK TIFF.
  • PDF/A (ISO 19005-1) validation. The new
    ‘pdftron.PDF.PDFA.PDFACompliance’ class offers a fast and easy way to
    validate any PDF file for the PDF/A compliance and to obtain a
    detailed report of compliance violations and relevant PDF objects.
  • PDF/A (ISO 19005-1) conversion. Using
    ‘pdftron.PDF.PDFA.PDFACompliance’ class developers can also convert
    existing PDF files to PDF/A compliant documents with fine grained
    control. The SDK also includes a new sample project (PDFATest) that
    illustrates how to use ‘PDFACompliance’ class.
  • All PDFNet viewers and rasterizers are now PDF/A (ISO 19005-1)
    compliant and can take into account OutputIntents ICC profile when
    rendering PDF in color management mode.
  • New high-level utility classes to work with any annotation type
  • Support for Default Color Spaces in PDF.
  • When color management is enabled (PDFNet.SetColorManagement(true))
    default ICC profiles are automatically loaded.
  • Support for Adobe Highlight Format. Developers can apply highlights
    to existing documents and integrate PDFNet with third party search
  • Improved rendering performance and quality.
  • Improved support for ISO PDF.
  • Enhanced JBIG2 compression. JBIG2 encoder now supports couple of new
    options: ‘Threshold’ and ‘SharePages’.
  • Support for JPEG2000 compression using [/JP2] or [/JPEG2000] image
    encoder hints.
  • Starting with this release C/C++ developers can now integrate PDF
    viewing, interactive form, and markup, with the same ease of use that
    was available to .NET or JAVA developers. This is illustrated in
    couple of new sample projects: PDFViewSimple (showing integration with
    Win32) and PDFViewWX (showing integration with wxWidgets cross
    platform framework).

New Types and Methods:

  • class pdftron.PDF.PDFViewCtrl
  • class pdftron.PDF.PDFA.PDFACompliance
  • namespace pdftron.PDF.Annots (Line, Circle, Widget, Highlight,
  • enum PDFDraw.PixelFormat.e_cmyk
  • Annot.Flatten()
  • Date.SetCurrentTime()
  • ElementBuilder.ArcTo()
  • ElementBuilder.CreateEllipse()
  • Field.SetValue(bool) [for radio and check buttons ]
  • Field.GetValueAsBool()
  • Field.SetMaxLen()
  • Field.GetMaxLen()
  • PDF.PDFDoc.IsTagged()
  • PDF.PDFDoc.AddHighlights()
  • PDFDraw.SetPrintMode()
  • PDFDraw.SetPageTransparent()
  • PDFRasterizer.SetPrintMode()
  • PDFView.GetRotation()
  • PDFView.Update(Rect)
  • PDFView.Update(Annot, page_num)
  • PDFNet.SetNumberWriteProc() [C/C++]
  • PDFNet.SetNumberReadProc() [C/C++]
  • Rect.Inflate()
  • UString.ConvertToUtf8() [C/C++]

Other Changes:

  • Element.GetImageColorSpace() and Image.GetImageColorSpace() now
    return directly ColorSpace instead of ‘SDF.Obj’. Similarly
    Element.GetShading() returns Shading.
  • GState.GetFillPattern() and GState.GetStrokePattern() directly
    return PatternColor instead of ‘SDF.Obj’.
  • Low-level PDFRasterizer takes anoter argument ‘num_comps’ used to
    specify the number of color channels in the output image.
  • Field.SetChecked() → Field.SetValue(bool)
  • Field.IsChecked() → Field.GetValueAsBool()


  • PDFNet.SetResourcePath()