All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages

Copyright 2001-2019 by PDFTron Systems Inc. All rights reserved. The information in this document is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by PDFTron Systems. PDFTron Systems assumes no responsibility or liability for any errors or inaccuracies that may appear in this document. The software described in this document is furnished under license and may only be used or copied in accordance with the terms of such license.

PDFNet is a high-quality, industry-strength PDF library meeting requirements of most demanding and diverse applications. Using PDFNet you can write stand-alone, cross-platform and reliable commercial applications that can read, write, and edit PDF documents.

Technology Overview:

Read, Write and Edit PDF - all in one package

  • Read PDF in order to extract text, images, and graphics.
  • Export PDF with access to full PDF imaging model (e.g. embed fonts, ICC profiles and color spaces), encryption and optimization options.
  • Edit PDF documents (see below for a more complete list of editing capabilities)
  • The combination of read/write/edit functionality means that the single library will be able to address any future PDF functionality your product may require.

Editing functionality

  • Industry-strength PDF editing is much more than a simple read/write operation. PDFNet offers an extensive API that makes the editing process as transparent and efficient as possible.
  • Using PDFNet it is easy to edit document security settings, bookmarks, hyperlinks, and structure information. There are interfaces to add, remove or copy pages; edit page display list or edit individual graphical elements on the page.
  • Besides access to a high-level document, PDFNet offers an easy to use API for low-level (or Cos based) PDF editing. The high-level API does not restrict your application since users may replace or write completely new high-level functionality on top of the low-level interface.
  • PDFNet keeps track of modified objects and can save only the objects that were directly or indirectly modified. This feature can be used for fast document save or undo/redo mechanism.


  • PDFNet supports both standard 40 and 128 bit PDF security (and custom security mechanisms through extensions).
  • Apply specific encryption scheme on new documents or edit permissions and security settings on already encrypted documents.


  • PDFNet was designed from ground up with high throughput and concurrent applications in mind.
  • For speedy document reading PDFNet uses incremental object loading and caching mechanisms. Caching is used at different levels: from Cos based object caching to more sophisticated color-space, font and glyph caching.
  • The library supports incremental save for quick document persistence.

Reliability & Robustness

  • PDFNet allows users to automatically conform to the highest PDF Language Standard through frequent upgrades and to consistently provide desired output types.
  • Predictable behavior and regular regression tests on thousands of documents set high standards for reliability and robustness.
  • Native code efficiency coupled with high security and reliability make PDFNet an ideal server component and an integral part of dynamic PDF websites and web-applications.

Languages and supported platforms

  • PDFNet hides much of its complexity behind an elegant and easy to use interface that can be uniformly accessed from various languages.
  • Standard patterns such as iterators and visitors can be used to traverse and manipulate page sequences, display lists, etc.
  • PDFNet is available as a .NET component and as a cross-platform C++ library.

Common use-case scenarios illustrating the use or the library in various applications (this is by no means an exhaustive list):

  • Append and assemble PDF documents. Merge specific PDF pages from multiple documents. Delete or rearrange pages.
  • Change security settings. You can set new security handlers and edit or remove existing security.
  • Create PDF from scratch. PDF can be created dynamically and delivered on the fly (e.g. on web and database servers). The library can also be integrated with client applications in order to provide enhanced PDF output that canít be produced using generic PDF writers (such as PDF print drivers or PostScript converters)
  • Extract text.
  • PDF/A conversion and validation.
  • Extract fonts or use an easy to use API in order to access glyph outline data.
  • Extract images. Images can be automatically converted and normalized to a target color space such as device RGB.
  • Read bookmarks, annotations, and document metadata.
  • Write custom converters.
  • Color separate PDF.
  • Perform automatic and preflight operations on PDF.
  • Rotate pages, change the crop and media box.
  • Embed TrueType, Type1, Type3, or composite fonts
  • Merge/edit form data with PDF.
  • Edit contents of PDF pages. Add/remove/edit images, text, and vector graphics. Change color spaces, fonts, line styles, and other attributes.
  • Solid foundation for PDF viewers, editors, and software RIPs (Raster Image processors)