The PDF4NET library can use either a grid based layout approach allowing precise positioning of content on document's pages or a flow based layout making the generation of complex documents a breeze. The final PDF file is compressed, making the library appropriate for web applications. The library can be used from WinForms, ASP.NET, WPF, UWP, .NET Core, Mac, iOS and Android applications without any restrictions,the source code being fully portable between platforms. The library is written entirely in C#, being 100% managed.
Document Features
- Create and load PDF documents from files and streams
- Grid layout and/or flow layout modes
- Save PDF files in PDF/A-1B, PDF/A-2 B/U, PDF/A-3 B/U format
- Save PDF files in PDF/UA-1 format
- Save PDF files to disk and streams
- PDF structure compression
- Document information and custom properties
- Document viewer preferences and display modes
- XMP metadata
- Document file attachments
- Document level JavaScript and actions
- Document outline (bookmarks)
- Create CAD and geospatial enabled PDF files
- Add, remove and read Bates numbers
- Add and remove PDF pages
- Page boxes - media box, crop box, art box, trim box and bleed box
- Page labeling ranges (page numbering)
- Extract pages from external PDF files
- Append PDF pages
- Split PDF files into pages
- Document incremental updates
- Partial document loading and saving
Logical Structure and Tagged PDF and Accessibility
- Logical document structure
- Tagged PDF
- Structure tree and structure elements
- ID map
- Role map
- Structure element attributes
- Attribute classes
- PDF/UA-1
- Automatic tagging of flow documents
- Extraction of page content with associated logical structure information
Flow Document Features
- Mixed formatted text
- Superscript/subscript text
- Images
- Form XObjects
- Annotations
- Tables
- Headers and footers
- Table of contents
- Automatic tagging for accessibility
- Before/After draw events for flow content
Security
- User and owner passwords
- Document access rights
- 40 bit and 128 bit RC4 encryption
- 128 bit and 256 bit AES encryption
- Content redaction
- Disable text copy/paste
Digital Signatures
- Approval and certifying digital signatures with X509 certificates
- Basic CMS and PAdES digital signatures with SHA256 / SHA384 / SHA512
- Signature timestamps
- OCSP and CRL information included in digital signatures
- Document security store
- Document timestamps
- LTV (Long Term Validation) enabled digital signatures
- Support for hardware signature tokens/smartcards (Windows, WPF, Mac)
- Externally computed signatures
Graphics Features
- Grid layout for fixed content positioning
- Flow layout for relative content positioning
- All PDF color spaces: DeviceRGB, DeviceCMYK, DeviceGray, Indexed, CalGray, CalRGB, Lab, ICC, Separation, DeviceN and PANTONE colors
- Pen and brush objects for stroking and filling operations
- Hatch style brushes
- Graphics primitives: lines, ellipses, rectangles, rounded rectangles, arcs, pies, chords, Bezier curves, paths
- Clipping paths
- Images (see Images section) and form XObjects
- Transparency groups
- Single line and multi line text with vertical and horizontal aligment, including justified text
- Extended graphics states with support for fill and stroke alpha, blend modes and overprinting
- Affine transformations: multiply, translate, rotate and scale
- Shadings - function, axial and radial
- Patterns - colored, uncolored and shading
- Optional content (layers) with support for custom display trees, multipage and mixed layers
- Barcodes (see Barcodes section)
- Drawing of external page content (page imposition)
- Low level PDF graphics for full control over the page content stream
- Formatted content (paragraphs, text blocks, styled text, links inside text, bullet lists)
- Tables (simple and composite cells, column spans, row spans, borders)
Fonts
- Standard PDF fonts, Western and CJK
- Type1 fonts
- Type3 fonts
- Ansi and Unicode TrueType fonts with support for font subsetting
- Disable text copy/paste for Unicode TrueType fonts
Images
- Load images from files and streams
- Png, Gif, Jpeg, Jpeg2000, Tiff and Raw images
- Extra large JPEG images
- Extra large TIFF images (24bpp and 32bpp, uncompressed, zip, lzw)
- Create images from System.Drawing.Bitmap (WinForms) (BMP, GIF, PNG, TIFF, JPG)
- Native support for TIFF (grayscale, RGB and CMYK), JPEG, PNG and RAW images
- TIFF to PDF conversion with CCITT G4 compression for B/W images
- Image masks: color masks, stencil mask and soft masks
- Alternate images for printing
- SVG to PDF conversion
Barcodes
- Built in vector barcode engine, no barcode images or barcode fonts
- Unidimensional barcodes:
- Generic barcodes: Codabar, Code 11, Code 25, Code 25 Interleaved, Code 39, Code 39 Extended, Code 93, Code 93 Extended, Code 128 A, Code 128 B, Code 128 C, COOP 25, Matrix 25, MSI/Plessey
- Pharmaceutical barcodes: Code 32, Pharmacode, PZN (Pharma-Zentral-Nummer)
- EAN/UPC barcodes: EAN 128, EAN-13, EAN-8, ISBN, ISMN, ISSN, JAN-13, UPC-A, UPC-E
- Postal and transportation barcodes: FedEx Ground 96, IATA 25, Identcode, Leitcode, KIX, Planet, PostNet, RM4SCC, SCC-14, SingaporePost, SSCC-18, USPS FIM, USPS Horizontal, USPS PIC
- Bidimensional barcodes:
- DataMatrix, QR, PDF417, Micro PDF417, Codablock F, Code 16K
PDF Annotations
- Add, edit and remove PDF annotations
- Standard and custom appearance for annotations
- Flatten annotations
- Supported annotations:
- Text (sticky notes) annotations
- Rubber stamp annotations
- Square and circle annotations
- File attachment annotations
- Link annotations (hyperlinks)
- Line annotations
- Ink annotations
- Polygon and polyline annotations
- Text markup annotations: highlight, underline, strikeout, squiggly
- Free text (typewritter) annotations
- Sound annotations
- Movie annotations
- Rich media (Flash) annotations
- Redaction annotations
- 3D annotations with support for: views, projections, lighting schemes, cross sections, backgrounds and animations
PDF Forms (Acrobat forms)
- Create, load and save PDF forms
- Add, edit, remove and rename form fields
- Support for text box fields, combo box fields, list box fields, push button fields, check box fields, radio button fields, signature fields
- Read/Write (fill) form fields
- Create custom appearances for field widgets
- Flatten form fields
- Form actions (see PDF actions)
PDF Actions
- Add, edit and remove PDF actions
- Set actions at document level, page level, annotation level and form field level
- Supported actions:
- GoTo actions - go to destinations in current PDF file
- Remote GoTo actions - go to destinations in external PDF files
- GoTo 3D view actions - activate a specific view in a 3D annotation
- Launch actions - launch executables and files
- URI actions - go to a web based destination
- Named actions - predefined PDF actions
- JavaScript actions - execute JavaScript code
- Submit form actions - submit form data to a server
- Reset form actions - reset form fields to default values
- Hide actions - show or hide form fields
PDF Functions
- Sample based functions (Type 0)
- Exponential functions (Type 2)
- Stitching functions (Type 3)
- Postscript calculator functions (Type 4)
Text Search
- Search text in PDF pages with support for regular search, case sensitive search, whole word search and regular expression search
Content Extraction
- Extract text with position information at fragment level and glyph level
- Extract text as words with position information at word level and glyph level
- Extract text and words from user defined regions
- Extract images including image information such as: image size in pixels, bits per pixel, colorspace, image position on the PDF page, image size on the PDF page, image horizontal and vertical resolution
- Extract page content as a sequence of path, text, image and shading objects
- Extract optional content groups as vector drawings
- Extract page content as vector drawings
Content Transformation
- Convert page content to RGB
- Convert page content to CMYK
- Convert page content to Grayscale
- Convert images to Grayscale
- Replace page images
- Remove page images
Content Redaction
- Text redaction
- Image redaction
- Redaction annotations
PDF Portfolios
- Create and load PDF portfolios
- Define portfolio attributes and define sort order for portfolio items
- Add and remove portfolio items
- Organize portfolio items into folders
Low Level COS API
- Add, edit and remove COS objects
- Supported COS objects: strings, numbers, names, booleans, nulls, arrays, dictionaries and streams
PDFView4NET provides support for the following features when displaying and printing PDF files:
General:
- .NET Framework 2.0, 3.0, 3.5 support
- Load files from file or stream, with support for RC4/AES encrypted files
PDF Rendering:
- Separate class library for converting PDF files to images and for printing PDF files to any Windows printer without any user interface
- Render PDF files to BMP, GIF, JPEG, TIFF or any System.Drawing.Graphics object
- Render PDF files to multipage B/W TIFF with CCITT FAX compression
- Filters and compression: FlateDecode, LZWDecode, DCTDecode, CCITTFaxDecode, ASCII85Decode, ASCIIHexDecode
- Images: RAW, CCITT, DCT, Inline, Soft masks, Image masks, Chroma key masks
- Fonts: standard PDF fonts, embedded fonts, CID keyed fonts, TrueType fonts, Type 1 fonts (CFF and Postscript)
- Colorspaces: DeviceRGB, DeviceCMYK, DeviceGray, CalGray, CalRGB, Lab, ICC, Separation, DeviceN
- Printing: print to any Windows printer, print page content and/or annotations and/or form fields, auto-rotate and center, print custom page range, multiple print scaling options, print multiple pages per sheet
PDF View Windows Forms controls:
- All the above rendering features
- 5 controls: document, pages viewer, bookmarks viewer, annotations viewer and attachments viewer
- Navigation: zoom (absolute, fit width, fit height, fit visible), rotate pages, PDFBookmarksView control for displaying bookmarks and navigating within the document, active links, multiple page display layouts
- Annotations: display all annotations, standard and owner draw annotation tooltips, add/edit text, free text, ellipse, file attachment, ink, line, link, rectangle, stamp, highlight, strikeout and underline annotations, active links to other pages or web, PDFAnnotationsView control for displaying all the annotations in a document
- Forms: user interactive form filling with support for saving filled forms; textbox, checkbox, radio button, pushbutton, dropdown list and list box fields.
- Text: extract text from pages, search text and highlight search results.
- Document attachments: add/edit/delete file attachments, PDFFileAttachmentsView control for displaying all the attachments in a document
- Save the modified files to file or stream