Capability Matrix
ZingPDF capabilities
Support matrix for the current API surface, package split, and planned features.
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. |
| Append, insert, delete, and merge pages | Available | Append, insert, delete, and merge operations. |
| Export selected pages and 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. |
| 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. |
| 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 adds OCR support for scanned and image-based pages, with configurable embedded-text preference. |
| 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 is Liquid HTML backed by browser conversion, not a PDF-native flow layout engine. |
Forms
Inspect and update AcroForm content through typed field wrappers.
| Capability | Status | Notes |
|---|---|---|
| AcroForm field enumeration | Available | Typed wrappers for terminal 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. |
| 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. |
| 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. |
| 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 | Windows, Linux, and macOS, subject to runtime dependencies. |
| HTML-to-PDF package | Available | HTML-to-PDF package with browser automation requirements. |
| 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. |
| Execute push-button actions | Planned | Action execution is not exposed through the high-level API yet. |
| Create visible signature fields and sign encrypted PDFs | Planned | High-level signing does not yet create visible signature fields automatically or sign encrypted output. |
| 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. |