[PDF Reader. PDF Control. PDF Component]
PDFNet SDK is the ultimate PDF toolkit.
With PDFNet components you can build reliable & speedy applications that can view, create, print, edit, and annotate PDFs ... across operating systems.
Developers use PDFNet SDK to read, write, and edit PDF documents compatible with all published versions of PDF specification (including the latest ISO32000). The extensive PDF library API supports most common use-case scenarios such as:
* PDF Viewing & Collaboration
* PDF Rasterization
* PDF Printing
* PDF Form filling and flattening
* PDF Split & Merge
* PDF Stamping
* Dynamic PDF generation (e.g. FlowDocument & Xaml to PDF)
* PDF Text extraction and indexing
* PDF Packages
* PDF Layers (OCGs)
* PDF Editing
* PDF Encryption
* Manipulate PDF bookmarks, links, and annotations.
* PDF Optimization
* PDF conversion to XML, HTML, XPS, SVG, TIF, etc.
* PDF/A Validation and Conversion
* PDF Redaction
* PDF Conversion from XPS, MS Office, HTML, XAML, TXT, TIFF etc.
* HTML to PDF Conversion
See the version list below for details.
* PDFA Validation and Conversion have been overhauled to provide output much more compatible with VeraPDF and the PDF/A specifications/technical notes (see "Appendix: Full List of PDF/A Changes" below).
* XOD files are generated with built-in annotation appearance streams. This allows WebViewer 4.0+ to render annotations containing these streams as they appear in other PDF viewers.
* Added an option to PDFViewCtrl.OpenUrl which will restrict download usage. This is largely to reduce data usage/bandwidth, but can also be used for security reasons.
* Added the Convert::streamingPDFConversion method, for page-by-page streaming conversion of many file types to PDF.
Improvements and Bugfixes
* Performance improvements for documents that have been opened directly from memory.
* More accurate bounding boxes for many annotation types
* Rendering accuracy improvements for nested transparency groups.
* Greatly reduced memory usage when converting XLSX to PDF.
* Lots of improvements and fixes to Office to PDF conversion outputs.
* More robust: improved handling of badly formed xref tables, page trees, fonts and file streams.
* Opacity support for fileattachment annotations.
* Many other miscellaneous bug fixes.
Appendix: Full List of PDF/A Changes
* We now expect the value of the N key to be an appearance subdictionary in Widget Button annotation AP dictionaries in PDF/A-1 mode (in addition to doing so for all the other modes, as we already do); also, we now match improvements made by other vendor(s), who now allow multiple entries in these subdictionaries
* We now do the q/Q operator nesting limit calculation properly, taking only individual streams' nesting into account
* Blend mode (BM) is now allowed to be set to "Compatible" in PDF/A-1 mode
* The entire document is now checked for Metadata object stream dictionaries that contain the Filter key, in accordance with clarification in TechNote 0010 (A017)
* Checking for equality of the values of the ID keywords between the first page trailer and last trailer dictionaries is only done if the ID keyword is actually present in the first page trailer, in accordance with clarification in ISO 19005-1:2005/Cor.2:2011
* Added check for DeviceN colorant number implementation limit
* Fixed dictionary size implementation limit check - used to allow 8190 entries instead of 4095
* Added checks for real number magnitude implementation limits
* Added checks for string length implementation limits
* Added support for XMP metadata encoded in UTF-32
* Fixed bug that caused crashes while processing PostScript Type 4 functions with invalid numbers of arguments
* Added check for character identifier (CID) magnitude implementation limits
* Disallowing OpenType fonts (to match other vendors' behaviour) and unrecognized font subtypes
* Added check for BaseFont entry for non-Type3 fonts
* Added checks for FirstChar, LastChar, and Widths entries and validation of their contents for non-standard simple fonts
* Removed font loading as a validation step, to match other vendors' behaviour
* Added XMP value type validation
* Allowed XMP dates to have timezones
* Added fix for checking colorspace device independence for all referenced colorspaces, not just the ones that are used
* The presence of PresSteps is now flagged in validation mode too, not just convert mode
* Page dictionaries with AA keys are now flagged (in PDF/A-2 mode or greater)
* Limited appearance dictionary (AP) check to Widget annotations, and in PDF/A-2 mode and greater also annotations which have non-zero width and height and are not popups or links
* Improved checking for "the stream keyword shall be followed either by a CARRIAGE RETURN (0Dh) and LINE FEED (0Ah) character sequence or by a single LINE FEED character"
* Added a check for empty values of ID keys in file trailer dictionary in PDF/A-2 mode or greater
* Added a fix for header validation in PDF/A-2 mode or greater: CRLF is now allowed to be used between "%PDF-1.n" and "%bbbb"
* Added flagging of missing StructTreeRoot for PDF/A-1a, 2a, and 3a
* Added fix for XMP parsing that allows more thorough syntactical validation
* More thorough detection of the disallowed usages of transparency (matching what other vendors do)
* Added fix for page dimensions validation
* Inconsistent font Widths are now only flagged for embedded fonts
* Added CharSet string validation for embedded Type1 fonts vis-a-vis font program glyph names
* Removed XMP amendment (pdfaid:amd) contents validation, matching other vendors' behaviour
* Updated the default PDF/A version mode from 1B to 2B in both SDK and command-line tool
* Convert mode no longer outputs both "Z" and "00'00" hour/minute information when fixing dates within the PDF Info dictionary
* We now only check for correspondence between PDF Info and XMP in PDF/A-1 mode
* Fixed process colorant handling; Components is now treated as an Array, not a Dict
* Fixed overprint mode handling to correspond to clarification in TechNote 0010; only the overprint control values in the ExtGState dictionary which correspond to actual use are now considered during validation
* Default colorspaces are no longer inherited from the page's Resources dictionary, and are only sought within the current Resources, as per clarification with other vendors
* Convert mode now removes notdefs from page Contents streams
* Convert mode now replaces invalid UTF-8 strings
This package has no dependencies.