Capability Matrix
ZingPDF capabilities
Support matrix for the current API surface, companion packages, and product boundaries.
Document Core
Open, create, inspect, and restructure documents.
| Capability | Status | Notes |
|---|---|---|
| Load existing PDFs from seekable streams | Available | Load existing documents from seekable streams. |
| Create blank PDFs | Available | Includes page creation APIs. |
| Get page counts and retrieve pages | Available | Page count and page access APIs. |
| Read visible page geometry and map display coordinates | Available | Page.GetGeometryAsync(...) resolves crop and rotation values and converts between PDF bottom-left and display top-left points. |
| Render PDF pages to PNG | Available | Page.RenderAsync(...) and Pdf.RenderPageAsync(...) return PNG bytes plus pixel dimensions and page geometry. Rendering uses PDFium through PDFtoImage and SkiaSharp native assets. |
| Append, insert, and delete pages; merge pages | Available | Append, insert, delete, and merge operations. |
| Export selected pages; split documents | Available | Create a new PDF from selected page numbers or split a document into multiple PDFs. |
| Rotate pages | Available | Page-level and document-wide rotation. |
| Read and update document metadata | Available | Title, author, subject, keywords, creator, and dates. |
| Low-level PDF object access | Available | IPdf.Objects exposes the object collection and page tree for integrations that need syntax-level access. |
| Recover from some malformed file-structure defects | Available | Includes some broken startxref recovery and common xref-stream repair paths. Not a full repair engine. |
Document Creation
Create PDFs with native authoring APIs or template renderers.
| Capability | Status | Notes |
|---|---|---|
| Fluent authoring for new PDFs | Available | Pdf.New() covers pages, text, shapes, paths, images, watermarks, boxed layout, wrapping, and fonts. |
| Liquid HTML templates | Available | ZingPDF.Templates.LiquidHtml renders Liquid variables, loops, conditionals, and includes with Fluid, then converts the rendered HTML through ZingPDF.FromHTML. |
| HTML-to-PDF conversion | Available | ZingPDF.FromHTML converts trusted HTML using Chromium. HtmlToPdfRenderer reuses an explicitly installed browser with isolated job contexts, configurable printing, cancellation and a conversion deadline. Four concurrent contexts are allowed by default; extra jobs queue. |
| Fluent page editing for existing PDFs | Available | pdf.Pages(...) applies page-level fluent operations to existing documents. |
| Add text and image content | Available | Text and image placement through the page API. |
| Draw vector paths | Available | Path drawing with stroke and fill options through the page API. |
| Text watermarks | Available | Simple all-pages watermarking. |
| Extract text | Available | Text extraction API. |
| OCR for scanned or image-based pages | Available | ZingPDF.OCR supports image-candidate OCR and explicit PdfOcrMode.RenderedPage input through PDFium. Results report the input source and coverage. |
| Register standard PDF fonts | Available | Document-level registration API for the standard PDF text fonts. |
| Register embedded TrueType fonts | Available | Document-level registration API for local TrueType font files and streams. |
| Google Fonts package | Available | Package for registering Google Fonts through the Google Fonts Developer API. |
| PDF-native flow templates | Planned | The current template package uses Liquid HTML and Chromium pagination. RendererHtmlToPdfConverter shares a caller-owned configured renderer. The invoice example covers 0, 1, 40 and 500 rows, repeated headers and totals; validate the container recipe in the target Linux image. A PDF-native flow layout engine is not supplied. |
Forms
Inspect and update AcroForm content through typed field wrappers.
| Capability | Status | Notes |
|---|---|---|
| AcroForm field enumeration | Available | Typed wrappers for terminal fields. |
| Create AcroForms and fields | Available | Create forms with text, checkbox, radio, choice, and signature fields. |
| Inspect form field bounds | Available | Read full field rectangles for placement and layout. |
| Text field read/write | Available | Read, set, and clear text field values. |
| Choice, checkbox, and radio selection | Available | Selection APIs exposed through option wrappers. |
| Signature field discovery | Available | Signature fields can be identified and inspected. |
| Inspect signature metadata | Available | Read signature presence, filter, subfilter, signer name, reason, and signing time. |
| Validate signature integrity | Available | Checks PDF ByteRange values, detached CMS payloads, message digests, and CMS signatures. |
| Build signer certificate chains | Available | Uses .NET X509Chain with extra certificates or custom trusted roots supplied through validation options. |
| Sign existing or hidden signature fields | Available | Signs existing signature fields with a visible appearance that can include a signature image, or adds a hidden field for validation-only signing on unencrypted PDFs. |
| Visible and invisible signing workflows | Available | Supports visible field signing with a basic appearance, optional signature image, and hidden-field signing for cryptographic validation-only workflows. |
| Push-button caption and action inspection | Available | Read button captions, inspect primary action types, inspect URI or named actions, and list additional-action triggers. |
| Form reset | Planned | Planned API for restoring AcroForm fields to their default values. |
| Flatten filled AcroForms | Available | Place widget appearances onto the page and remove the interactive form structure. |
Security And Output
Protect documents, rewrite history, and control how output is saved.
| Capability | Status | Notes |
|---|---|---|
| Compress and decompress stream content | Available | Compression and decompression APIs for supported streams. |
| Performance tracing | Available | PerformanceTrace records named timing scopes for parser and document workflow diagnostics. |
| Authenticate encrypted PDFs | Available | Password authentication for encrypted files. |
| Apply password protection | Available | Supports Standard security handler RC4-128, AES-128, and AES-256 output, including user permission flags. |
| Restrict print, copy, edit, and form permissions | Available | User permission flags are exposed through the high-level encryption API. |
| Decrypt to a plain latest revision | Available | Removes encryption from the latest saved revision. |
| Incremental save | Available | Writes a new revision and preserves prior document history. |
| Document history removal | Available | Rewrites the document so only the latest live objects are saved, removing prior incremental revision history. |
| Structural text redaction with rewritten-file save behavior | Available | Marks exact extracted-text matches or explicit page regions, removes matched text, redacts intersecting vector paths and XObjects, draws overlays, and rewrites the document so earlier file history is not preserved. |
Packages And Roadmap
Package notes and planned features.
| Capability | Status | Notes |
|---|---|---|
| Cross-platform core library support | Available | Packages target net8.0; .NET 8 is the minimum. Runtime validation covers .NET 8, 9, and 10 on Windows. Windows, Linux, and macOS deployments remain subject to native dependencies. .NET Framework 4.x is not supported. See runtime compatibility. |
| HTML-to-PDF package | Available | HTML-to-PDF package requiring Chromium, OS libraries and fonts. New renderer defaults disable browser downloading and use print media with CSS page sizes. Offline mode is page networking emulation, not a security boundary. |
| Liquid HTML template package | Available | ZingPDF.Templates.LiquidHtml renders Liquid templates with Fluid and converts the resulting HTML through ZingPDF.FromHTML. |
| OCR package | Available | OCR companion package for scanned or image-based PDFs using a pluggable engine model. |
| Full malformed-PDF repair and xref rebuild | Planned | Current recovery covers a few common defects. Full object-graph reconstruction is not implemented yet. |
| Sign password-protected input PDFs | Planned | Planned workflow: authenticate an encrypted input PDF, add a signature, and save signed output. Encrypting an already signed PDF is not a high-level workflow. |
| Trusted timestamps, LTV, and DocMDP validation | Planned | Signature validation reports these layers separately, but trusted timestamp tokens, DSS/VRI data, and DocMDP permissions are not validated yet. |
| Inline image and shading redaction | Planned | The current redaction API handles supported vector content, image XObjects, and form XObjects. Inline images and shading content are still rejected. |
| OCR-driven redaction for scanned pages | Planned | OCR result bounds for scanned or image-based pages are not exposed through the redaction API yet. |
| High-level annotation APIs | Planned | Review annotations and comment workflows are not exposed as a friendly high-level surface yet. |