[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

Install-Package PDFNet -Version
dotnet add package PDFNet --version
<PackageReference Include="PDFNet" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PDFNet --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

New Features
Digital Signature Verification is now out of beta.
New APIs for certificates (X509Certificate) and a number of other Digital Signature related classes.
Digital Signing support for Embedding Secure Timestamps and Long Term Validation (LTV).
Accessibility: built in office conversion now produces tagged PDFs.
Added native support for the xls format, rounding out our support of the 6 main "office" formats (docx, pptx, xlsx, doc, ppt, and now xls)
Added support for Right-to-left languages within office files.
Added options for converting Excel sheets into multiple PDF pages.
Added new API for text shaping, enabling support for visually complex scripts (like Thai and Hindi) using elementbuilder.
Support for Compressing Monochrome (1 bit per pixel) Images with CCITT Group 4 lossless compression in Optimizer or during PDF image creation.
Utility functions to refresh all missing appearances and more easily create custom appearances. (PDFDoc.RefreshAnnotAppearances() and Annot.RefreshAppearance(RefreshOptions))
Support for Option Content Groups/Layers (SetOCGContext) in TextExtractor and TextSearch.
Added a new function PDFACompliance.GetDeclaredConformance which can get the conformance level specified in the document.
Node.js: added support for TypeScript and Node versions 13 and 14.
CAD module: added options to specify background color, color mode, handling of thin lines, and xref search paths.
Changed Behaviour
By default Optimizer will now use CCITT Group 4 compression for monochrome images. This is because the previous default of JBIG2 caused a number of issues due to its lossless nature.
The display and appearance generation of Rectangle annotations has been adjusted to be more in line with other applications. It is recommended to test any custom creation or viewing logic for these annotations.
The display and appearance generation for FileAttachment annotations has been adjusted to be more in line with other applications. In particular the aspect ratio has been changed for certain icons. It is recommended to test any custom creation logic of these annotations and refer to the FileAttachment class documentation for more information about the new appearance aspect ratios.
During PDFViewCtrl.OpenUrlAsync placeholder pages (for those which haven't finished downloading) will now throw an exception if they are edited. Most viewers handle this by disabling these edits during download.
TextExtractor and TextSearch now use the default OCG/Layers by default.
By default the logic to skip the watermark layer for Text Extraction has been disabled.
Changed Field.SetValue() to no longer turn on the current radio button when passing "True" "Off" or "On". The boolean version of SetValue() should be used instead for this.
The `Convert.StreamingPDFConversion` API will now throw an exception in the case where it is unable to initialize the conversion (previously returned a null or invalid object
Other Changes
Roughly categorized, not an exhaustive list.
[pdf] PDFViewCtrl.OpenUrlAsync has been optimized significantly by reducing contention on the document lock.
[html] Updated HTML2PDF module on MacOS, since the latest versions of the operating system no longer support 32-bit applications.
Node.js builds no longer require a step to install or reference the library on Linux/Mac.
[office] Improved .msg office interop conversion.
[pdf] Copy over calculation order as appropriate during page import or merge. This is important to keep certain JavaScript actions working.
[pdf] Fixed an infinite loop in linearized save when handling corrupt documents with a page-tree cycle.
[pdf] Avoid throwing errors when encountering corrupt line operators that have non-number parameters.
[xfdf] Support importing appearance image data in Signature Widgets.
[pdf] Updated diff logic to reduce exceptions thrown on corrupt documents.
[xfdf] Avoid throwing exceptions on XFDF export when encountering corrupt annotation objects.
[pdf] Adjusted Optimizer to process existing annotation appearances. This gives a bit more room to reduce the document size in addition to fixing some problems with the subset option.
[svg] Adjusted PDF2SVG logic to flatten paths filled with patterns, since these were not previously supported.
[pdf] Adjustment to throw out integers that are over implementation limits during parsing. This better matches the behaviour of other PDF consumers.
[pdf] The cache file provided to PDFViewCtrl.OpenURLAsync will now be written even if the server doesn't support byte ranges or Content-Length.
[xfdf] Improved error handling for corrupt annotations during FDFUpdate.
[xod] In error cases where temporary files cannot be opened throw exceptions to the user rather than failing silently.
[pdf] Improved logic for rebuilding corrupt documents to better handle indirect length entries.
[xfdf] Added repair logic in PDFDoc.FDFUpdate for corrupt Fields that are not in the Acroforms dictionary. This is important to allow the Field value to be updated.
[xfdf] Improved identification of changed annotations in PDFDoc.FDFUpdate in order to keep more existing annotation appearances.
[pdf] Updated FieldIterator to avoid returning Null objects on corrupt documents that utilize these in the field hierarchy.
[pdf] Updated document Resource caching logic to provide much better performance on heavily multithreaded applications.
[pdf] Improved error handling in the Node.js interface.
[pdf] When importing objects into a new document (for example when merging) avoid throwing an exception if subobjects are corrupt.
[xfdf] Added better handling for corrupt annotation Border entries in XFDF export.
[pdf] ElementBuilder.CreateTextRunHelper will now just use the input as charcodes for some symbol fonts, since unicode input doesn't make much sense for such fonts.
[pdf] Much improved handling of font substitution internal flow, resulting in more accurate matches and better performance.
[pdf] Improved the performance of the Windows font substitution backend, making it better at finding Bold and Italic font variants in some situations.
[tiff] Add support for extra tiff samples in the case where channels are arranged in a planar configuration.
[pdf] More robust handling of (corrupt) files with non-embedded fonts and missing toUnicode maps.
[pdf] Improved error messages for failed conversions.
[pdf] More robust handling of (technically corrupt) type0 CID fonts with a CIDToGID map.
[pdf] Improved pixel-hinting of thin rectangles that partially overlap clipping paths.
[pdf] Improved support for extended unicode text (outside of the basic multilingual plane)
[tiff] Added support for YCbCr colorspace images.
[OCR/CAD] Better error messages from sub-modules
[OCR] Improved logic for determining the "native" dpi of an incoming document, and added option to explicitly specify the dpi.
[CAD] Now support referenced .gp4 images in CAD files.
[pdf] Fixed an occasional crash when flattening annotations on a specific type of file.
[pdf] Updated hide action logic to also consider with the noview flag. This fixes actions on an uncommon type of document that relies on this flag.
[pdf] Fixed occasional race condition crash when viewing some PDF prime documents.
[pdf] Adjusted ContentReplacer to avoid introducing unrelated changes when updating certain PDF files.
[xps] If PNG image has an invalid resolution the default DPI is now used in xps to pdf conversion.
[xfdf] Fixed a problem on certain files during XFDF export where, in rare cases, annotation properties could be written on the wrong element.
[office] Fixed a breakage in excel support through interop.
[xfdf] Adjusting appearance rendering logic for stamp annotations during XFDF export to better support pattern transformations.
[pdf] Adjusting reflow squiggly underline output to use a wavy underline rather than strikeout.
[pdf] Fixed a bug in SDF.NameTree where the tree could be split incorrectly. (and certain values could become inaccessible)
[pdf] Fixed a crash in Field.SetValue if called on a corrupt Widget without a connected field.
[pdf] Fixed an issue setting the value of certain choice fields.
[xfdf] Adjusted support for MaxLen property to use the value in the first Widget, which better matches behaviour in other viewers.
[pdf] Fixed a potential crash calling CloseDoc() after there has been an error during download/PDFViewCtrl.OpenUrlAsync.
[pdf] Fixed corrupt document repair to ensure that the last object of a given number is used.
[pdf] Adding check for badly formed stream objects masquerading as Object Streams to avoid throwing them out on save.
[pdf] Fixed a crash in FreeText.RefreshAppearance when encountering an empty DA entry.
[xod] Fixed a problem where the first few thumbs would be included when streaming to XOD even if they were turned off.
[pdf] Fixed an occasional crash in PDFViewCtrl.OpenUrlAsync, triggered by an early failure in the download process.
[image] Fixed a crash when encountering problems in multipage tiff conversion.
[xfdf] Fixed a bug where, in rare cases, field values could incorrectly end up with XML escaped output after XFDF import.
[xod] Added basic support in XOD conversion for Image Soft Mask Matte entry.
[pdf] Fixed an issue where calling ElementWriter.Begin could incorrectly throw an exception on certain types of documents.
[pdf] Fixed a problem with image downsampling of annotation appearance streams. Previously these would rarely be downsampled.
[xfdf] Fixed a problem with importing/merging fields with complex inheritance structure.
[pdf] Fixed DigitalSignatureField.ClearSignature() so it would clear global document state if no signatures remain.
[xps] Fixed a problem with extracting the dpi from jpeg or tiff files when they have dots-per-cm units.
[html] Dropped the font size limit for html2pdf to work better with the latest macOS and retina displays.
[pdf] Added default style parsing for text color in FreeText annotations. This fixes issues with text color when importing from XFDF.
[xfdf] Fixed a problem handling corrupt Pages with duplicate annotation ids in PDFDoc.FDFUpdate.
[pdf] Text extraction will now properly handle subforms even if a corruption is encountered in them.
[pdf] When redacting the logical structure is now erased when to better ensure nothing relevant slips through.
[pdf] Fixed a problem handling radio buttons with a non-unicode on state.
[xfdf] Added support for Stream values in text fields when exporting XFDF.
[pdf/xod] Fixed an issue with flattener where text that was covered by an almost transparent layer before being occluded would be displayed on top.
[pdf] Resolved an issue with drawing rectangle annotations with the cloudy style.
[bmp] Fix for handling of some transparent .bmp files where the background could remain uninitialized.
[pdf] Fixed an issue with our handling of malformed cmaps that could result in bad memory accesses.
[viewer] Fix for potential deadlock when calling PDFView.Update()
[pdf] Fixed issue with separation blending not working correctly when the page blend space is RGB.
[pdf] Fixed potential crash when rendering a softmask with an empty group entry.
[pdf] Fixed a rare issue with resolving cmap entries within TrueType fonts that could lead to garbled text rendering.
[OCR] Fixed a bug where we would not properly handle escaped backslashes within json input.
Native Office Fixes and Improvements
[office] More accurate reproduction of tinted theme colors
[office] Many improvements to embedded font resolving, with powerpoint files seeing the most improvement.
[pptx] Can now make use of docx "resource documents" when converting pptx files
[office] Improvements to our handling of "tricky" font names that resemble other known fonts.
[office] Change default checkbox rendering to use a box, rather than a windgdings glyph.
[pptx]Added color override map support for each individual slide, as opposed to just the master and layout slides.
[office] Chart improvements: data labels are now better supported, improved legend positioning, allow entries to be deleted from the legend.
[docx] More precise handling of text-float overlap and interactions.
[pptx] More accurate determination of text line height in powerpoint.
[docx] Better resolving of floating content positions in complex documents.
[docx] Added support for the "dxa" form of table margins.
[docx] More accurate calculation of table row heights.
[office] Added basic support for the multiLvlStrRef element in charts.
[office] Added preliminary support for some math elements.
[office] More robust handling of unsupported graphic data (attempt to use alternate content in more situations)
[office] Added support for vertical text within table cells.
[office] Added support for tiled image fills.
[office] Added support for duotone image recoloring
[docx] Added support for repeated table headers, where the header of a table is placed at the top of each page.
[office] Now correctly resolve solid fill colors with an inherited "noFill" property.
[doc] Fix for handling of .doc tables with mismatched content and column count.
[docx] Fix for potential errors in mapping of individual symbol elements.
[pptx] Fixed issue with decoding some embedded glyphs.
[office] Fixed issues with resolving "auto" background colors in different contexts.
[docx] Fix for oversize tables not properly overflowing their parent containers.
[docx] Fixed error in treatment of individually set cell margins (under the 'tcMar' element)
[docx] Fixed bug with resolving inherited hanging indent values.
[docx] Relaxed the rules for placing floating content in footers, rather than skipping it.
[office] Fix for bug where text styles were not fully resolved when determining the height of a line break.
[xlsx] Fix for a bug where unresolved formatting codes would result in a failed conversion.
[office] Now correctly handle vertically merged table cells in tables with the "gridBefore" property
[office] Improved support for handling of embedded EMF files.
[excel] Fix for our handling of cells with the special number format code "General"
[excel] Fix for mishandling of table margins specified within the tblPrEx tag.
[excel] Now allow conversion of xlsx sheets with no fonts defined.
[docx] Fixed issue where a local "auto" line spacing rule would not properly override a global non-auto spacing.
[docx] Now correctly handle NUMPAGES dynamic content within fldSimple elements.
[excel] More robust handling of format codes with leading and trailing spaces.
[docx] Correctly handle the case where numbered lists should inherit styles from the paragraph run properties.
[docx] Fixed a bug where shapes were incorrectly constrained to the bounds of the page area.
[pptx] Fix for occasional bad text positioning inside shapes.
[pptx] Fixed incorrect cropping of transformed images.
[office] Fixed handling of images with a global opacity value.
[office] Fixed occasional incorrect handling of isolated symbols (list bullets, for example)
[ppt] Fix for incorrect handling of default kerning values for ppt files.
[doc] Fix incorrect positioning of grouped shapes within .doc files.
[office] Fixed a number of issues with chart axis positioning
[doc] Fixed incorrect handling of MS1252 encoded text in doc files.
[office] Fixed a crash in pie chart drawing when trying to draw 0-size slices.
[office] Fix for mishandling of some format codes with non-ascii values.
[docx] Fixed a number of issues with content controls

  • .NETFramework 4.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated 763 9/9/2020 70 9/8/2020 4,352 2/19/2020 612 1/27/2020 2,024 11/1/2019 1,096 9/20/2019 2,102 8/23/2019 558 7/26/2019 2,067 6/4/2019 907 4/2/2019 596 3/8/2019 497 2/15/2019 853 11/29/2018 1,191 11/20/2018 3,523 8/21/2018 2,203 7/12/2018 12,786 4/24/2018 987 4/12/2018 3,753 12/11/2017 1,821 10/24/2017 790 9/27/2017 531 9/22/2017 1,394 7/25/2017 7,880 5/3/2017 2,086 3/3/2017 1,727 1/27/2017 6,846 1/6/2017 988 12/2/2016 14,804 4/11/2016 2,519 1/13/2016 2,216 12/1/2015 2,142 9/14/2015