What's new in PDF4NET V4.6?
- Extract page content as a collection of high level objects, paths, text and images.
What's new in PDF4NET V4.5?
- Content extraction as a sequence of graphic operators.
- Improved text extraction.
- Reduced memory consumption in some situations when loading PDF files in PDFDocument objects.
- Some metafiles not displayed correctly.
- Some JBIG2 encoded images cannot be extracted.
- Text is not extracted correctly when the font has an empty ToUnicode cmap.
- Text is not extracted correctly when the font's ToUnicode cmap uses character arrays.
- FirstLineIndent does not work correctly.
- Indexed images with base RGB colorspace are not extracted correctly.
- Underline, strikethrough and overline options are not considered in DrawHTMLText/DrawHTMLTextBox methods
- Some PDF files are not merged correctly
What's new in PDF4NET V4.4?
- Added QR barcodes
- Added PDFAnnotation.ID property
What's new in PDF4NET V4.3?
- Read/write PDF files in XDP packages
- Import/export data in XDP format
What's new in PDF4NET V4.2?
- AES-256 encryption and Unicode passwords
- PDF portfolios
- Function-based, axial and radial shadings
What's new in PDF4NET V4.1.3?
- Optimized extraction of images with Indexed colorspace based on CalRGB colorspace.
- Dispose method throws an exception in NETCF edition in some situations - fixed
- Imported PDF files that contain indirect references in document information dictionary are not saved correctly - fixed
- When content is extracted from a PDF file that uses shared reosurces are pages level, only the resources for first extracted content are extracted correctly, the other are not - fixed
- PDF/A files are not created correctly when the time separator is not the ':' - fixed
- String objects less than 16 bytes in AES encrypted files are not decrypted correctly - fixed
- Text is too large in textbox fields with autosize fonts - fixed
- Textbox fields with Helvetica font without Encoding entry are not filled correctly with extended ascii chars - fixed
- When a PDFDocument is created from a stream, the stream is disposed when the document is disposed - fixed
- When extracting pages from a file, the field widget's additional actions are not preserved - fixed
- Size of autosized font in textbox is not computed correctly when the font is replaced for display with another font - fixed
- PDF files that use /Pages instead of /Page for leaf page objects cannot be loaded - fixed
- Textbox fields that use TrueType fonts cannot be filled with Unicode text - fixed
What's new in PDF4NET V4.1.2?
- Added support to keep shared resources when extracting multiple pages at once.
- Added support for loading destinations by name
- Added support for Arial and Verdana fonts in PDFFontFace enumeration in .NETCF edition
- Added support for Flash annotations
- Added support for TrueType collections (.ttc) in TrueTypeFont constructors
What's new in PDF4NET V4.1.1?
- Added support for bar width reduction in unidimensional barcodes
- Added support for creating PDFMetafile objects from Metafile objects
- All device colors are now supported for gradient brushes
- Added support for better handling of large PDF files with document level resources
- Added support to specify whether to parse the page content in order to remove unused resources from page's resources dictionary and not to extract them
What's new in PDF4NET V4.1?
- PDF/A support - added support for creating PDF/A-1b compliant PDF files
- Added support to load fonts from local machine in HTML text
What's new in PDF4NET V4.0?
- Partial document load
- Partial document save, save document page by page, or page fragment by page fragment
- Incremental updates
- Text extraction
- Text search
- Custom appearance for annotations
- Flatten annotations
- Enhanced AcroForms object model
- JPEG 2000 and JBIG2 support in image extraction
- Public API for access to low level COS objects
What's new in PDF4NET V3.3x?
- Extract images from PDF files.
- Extract layers from PDF files.
What's new in PDF4NET V3.2x?
New features and enhancements:
- DeviceRGB, DeviceCMYK, DeviceGray, Indexed, CalGray, CalRGB, Lab, ICC, Separation and DeviceN colorspaces
- PANTONE colors
What's new in PDF4NET V3.1.1?
- Support for overprint drawing
What's new in PDF4NET V3.1?
- 12 new barcode symbologies: Singapore Post, Royal Dutch TPG Post, PZN, Deutsche Post Identcode, Deutsche Post Leitcode, UCC/EAN128, USPS FIM, USPS Horizontal Bars, USPS Package Identification Code, FedEx Ground 96, Pharmacode, Code 32
What's new in V3.0x?
- Digitally sign PDF files with X.509 certificates (.Net 2.0 only)
- Embed 3D artwork in PDF files with support for projections, rendering modes, lighting schemes, backgrounds, cross sections, nodes and activation
- AES-128 encryption
- Added support for PDF 1.5 encryption which allows to leave the metadata in clear (search engine friendly), while encrypting the rest of the document
- Added ReadOnly property at AcroForm level, to set/unset all fields at once
- Added WideToNarrowRatio property to Code 2 of 5 family of barcodes
New features in V2.9.x
- Support for creating linearized PDF files (fast web view PDF files)
- Added support for extracting files from file annotations
- Added support for new stamp annotations: SBRejected, SHAccepted, SHInitialHere, SHSignHere, SHWitness
New features in V2.8x
- Native support for 1D and 2D barcodes
- Support for page background (Adobe Acrobat© style)
- Support for renaming AcroForm fields
- Support for setting tab order for AcroForm fields
- SaveProgress event for enabling user feedback when saving large PDF documents
PDF4NET provides support for the following features when creating PDF files:
- Support for document wide properties like: document information and XMP metadata with custom properties, viewer preferences.
- Digitally sign PDF documents using X.509 certificates.
- Create PDF portfolios
- Read/write PDF files in XDP packages
- Unlimited number of pages per document, each page with its size and orientation.
- Create PDF/A-1b compliant PDF files.
- Headers, footers, page templates and layers.
- Native support for 1D (Codabar, Code 11, Code 128 A/B/C, Code 25, Code 25 Interleaved, Code 39, Code 93, COOP 25, EAN-13, EAN-8, IATA 25, ISBN, ISMN, ISSN, JAN-13, Matrix 25, MSI/Plessey, Planet, Postnet, RM4SCC, SCC-14, SSCC-18, UPC-A, UPC-E, Singapore Post, Royal Dutch TPG Post, PZN, Deutsche Post Identcode, Deutsche Post Leitcode, UCC/EAN128, USPS FIM, USPS Horizontal Bars, USPS Package Identification Code, FedEx Ground 96, Pharmacode, Code 32) and 2D (Codablock F, Code 16K, DataMatrix, MicroPDF417, PDF417) barcodes.
- Automatic page numbering with support for roman and Arabic numerals.
- Grid based layout when placing content on page, in this way drawing on a PDF page is much like drawing on the screen. The library also allows creating user defined units and coordinate systems.
- Support for basic drawing primitives (lines, poly lines, arcs, pies, rectangles and rounded rectangles, ellipses, Bezier curves, paths, form XObjects). All primitives can be stroked or filled, and developer has full control over lines styles. Clipping regions are also supported by PDF4NET library. The library includes full support for transparency and blend modes. All drawing primitives can be filled with solid, hatched and gradient brushes.
- Function-based, axial and radial shadings.
- DeviceRGB, DeviceCMYK, DeviceGray, Indexed, CalGray, CalRGB, Lab, ICC, Separation and DeviceN colorspaces.
- PANTONE colors.
- Support for images, including jpeg, gif, bmp, png, emf; images can be placed anywhere on the page, scaled and rotated; Embedded images are cached, so when the same image is used multiple time in the PDF file, it is embedded only once. Images can be loaded from files, streams or System.Drawing.Bitmap. Transparent images are supported by default, support for color key masking, image masking and alpha channel transparency being also included. Windows Enhanced Metafiles are converted to PDF vector graphics.
- CCITT G4 compression for B/W images. Tiff2PDF applications will benefit most of this feature.
- Support for various text layouts using single text lines or text boxes with automatic word wrapping, text alignment (left, center, right or justified on horizontal, or top, middle bottom for vertical) and rotation;
- Support for HTML formatting tags when drawing text.
- Support for base 14 fonts, Type1 fonts, Unicode TrueType fonts, System.Drawing.Font and CJK fonts from Adobe Asian Language pack. Both Type1 and TrueType fonts can be embedded in the PDF document, and for TrueType fonts the library performs font sub setting automatically to reduce the size of the embedded font. The fonts are cached, so only one instance of the font is embedded in the final PDF file.
- Support for PDF hyperlinks and document bookmarks. The target of a hyperlink can be a page in the same document, an external PDF file, an external non PDF file or a URL on the web.
- Several types of annotations are supported, including 3D, text annotations, rubber stamp annotations and file attachment annotations. Annotations can be flattened to be included in page content.
- Support for PDF security specification. Documents can be encrypted and password protected, both with user and owner passwords. The library supports AES and RC4 with 40bit, 128bit and 256bit (AES only) encryption keys. Also, operations on a document can be restricted using access rights (allow print, allow assemble, allow content extraction, etc).
- PDF files can be saved to file or stream, including HTTP output streams.
- Save documents page by page or page fragment by page fragment.
- Partial document load and incremental document update, only the changed objects are saved.
- The content of PDF files is compressed to reduce file size and download times when the library is used from a web application.
PDF editing capabilities of PDF4NET allow a developer to perform a wide range of operations on existing PDF files. All PDF editing capabilities are available also on encrypted PDF files.
- PDF files merge – multiple PDF files can be merged together with a single line of code and the resulted PDF file can be saved to disk or to a stream. Also, the final PDF file can be encrypted.
- PDF files split – PDF files can be split to single pages in a single step.
- Apply security to existing PDF files – existing PDF files can be encrypted and protected by passwords. Both RC4 and AES encryption algorithms are supported.
- Page extraction – pages from external PDF files can be extracted and added to new documents, thus allowing mixing existing PDF files into a single new one. When a page is extracted, also its annotations, links and form fields are extracted.
- Content extraction – the content of a page or a layer can be extracted and placed on a new page. Multiple pages content can be placed on a single new page (page imposition) to reduce the number of pages in the final PDF document. Content can also be extracted as a sequence of graphic operators for custom page content processing.
- Image extraction – images from a page can be extracted as Bitmap objects.
- Extract and search text – extract and/or search text in PDF files.
PDF4NET library can create and fill PDF forms (AcroForms) and it can read and fill XFA forms. The following features are supported:
Create and modify PDF forms (Acroforms only)
- Read and fill PDF forms (Acroforms)
- Support for pushbuttons, single and multi lines text fields, checkboxes, radio buttons, comboboxes and listboxes (Acroforms)
- Read and fill static XFA forms (Adobe Designer 7 static forms)
- Support for pushbuttons, single and multi lines text fields, numeric fields, datetime fields, checkboxes, radio buttons, choice fields, image fields and barcode fields (XFA forms)
- Support for encrypted forms
- Form fields flattening, all fields or field by field.
- Import/Export of form data in FDF, XFDF and XML
The library includes a MSDN style help file. PDF4NET library has been developed entirely in C#, taking full advantage of .NET Framework. It supports both standard .NET Framework and Compact .NET Framework. The evaluation version is includes all the features but prints an evaluation message on document’s pages. The library is licensed per developer and can be distributed royalty free.