API guide
Primary namespaces#
| Namespace | Use it for |
|---|---|
KillerPdf.Engine.Documents |
Open files and read document, page, bookmark, link, form, and tree information |
KillerPdf.Engine.Authoring |
Create documents, page content, resources, annotations, forms, navigation, and conformance structures |
KillerPdf.Engine.Editing |
Append byte-preserving revisions to existing documents |
KillerPdf.Engine.Writing |
Deterministic rewrites, incremental update options, and output sanitization |
KillerPdf.Engine.Diagnostics |
Bounded structural inspection and diagnostics |
KillerPdf.Engine.Validation |
Deterministic reopen and round-trip verification |
KillerPdf.Engine.Security |
Password authentication, permissions, encryption options, and security handlers |
KillerPdf.Engine.Signing |
Signature creation, discovery, verification, certification, and revision analysis |
KillerPdf.Engine.Objects |
Typed PDF objects for lower-level work |
KillerPdf.Engine.Syntax |
Headers, tokens, tokenizer behavior, and PDF versions |
Common entry points#
| Task | Start with |
|---|---|
| Open a PDF | PdfDocument.Open |
| Inspect unknown input | PdfDocumentInspector.Inspect |
| Read metadata and page count | PdfDocumentInformation.Read |
| Read page dimensions and rotation | PdfPageInformation.Read |
| Read bookmarks | PdfBookmarkReader |
| Read links | PdfLinkReader |
| Read forms | PdfFormWidgetReader |
| Create a PDF | PdfDocumentBuilder |
| Build page content | PdfContentStreamBuilder |
| Change pages and forms | PdfIncrementalPageEditor |
| Change annotations and links | PdfIncrementalAnnotationEditor |
| Rewrite deterministically | PdfDocumentWriter.Write |
| Validate a rewrite | PdfRoundTripValidator.Validate |
| Read and verify signatures | PdfSignatureReader and PdfSignatureVerifier |
High-level before low-level#
The high-level APIs coordinate changes across related PDF structures. For example, adding a form field can affect the page annotations, AcroForm field tree, appearance resources, default resources, and document catalog. Prefer the typed method that represents your intent.
Use PdfObject, PdfDictionary, PdfArray, PdfStream, PdfName, and indirect references when implementing a feature that the high-level surface does not cover. Validate the complete graph before writing.
API documentation in your IDE#
The package includes XML documentation generated from the public source comments. Visual Studio, Rider, and other .NET editors display summaries and parameter help while you type.
For the complete current surface, browse the engine source or inspect the package with your IDE's object browser.
Versioning#
The package version follows the KillerPDF release that ships it. Pin the version your application has tested. Review the engine changelog before upgrading.