Pure-JS reader/writer for PDF documents. See the package README for the high-level pitch and CHANGELOG.md for the L3→L4 finalization history.

Current state — L4 (awa.maturity). Full ISO 32000-2:2020 (PDF 2.0) read + write across syntax, document structure, content streams, fonts, AcroForm, annotations, Tagged PDF, encryption (AES-256), digital signatures (PKCS#7 with real public-key verification), OCG, outlines/actions/destinations, embedded files, linearization, metadata and prepress, plus 32 opt-in extras and legacy PDF 1.7 read tolerance. See Coverage for the full breakdown.

Guides

Guide Topic
Getting started Install, ModuleRuntime registration, first read.
Read pipeline header → xref → trailer → catalog → pages.
Extending via .use() Extension hook, idempotence by name.
Coverage Full ISO 32000-2 coverage table + extras + known limitations.
Crypto — risks and limitations Encryption/signature guarantees, what verified/valid actually prove.
Legacy 1.7 PDF 1.x header tolerance on read + a real core-pipeline constraint.
PAdES integration bytes → signed PDF → verification report; tsaSign seam; trust-model boundaries; the normative claim matrix.

API reference

Full index: api/README.md — every sub-domain, its modules, and the 32 opt-in extras.

Section Modules
Top-level pdf, pdfErrors, pdfShared
Syntax (§7.2–7.5) pdfTokenizer, pdfParser, pdfXref, pdfTrailer, filters
Document (§7.7–7.8) pdfCatalog, pdfPages, pdfPage, pdfDocument, pdfResources, pdfWriter, pdfBuilder, pdfIncrementalWriter, pdfEncryptedWriter, pdfXrefStreamWriter
Content (§8/§9.3–9.4) pdfContentOps, pdfContentStream, pdfGraphics, pdfText, pdfColor, pdfImages
Font (§9.6–9.9) pdfFont, pdfFontEncoding, pdfType3, pdfFontEmbed
Form (§12.7) pdfAcroForm, pdfFieldTree, field typers, pdfAppearance
Annot (§12.5) pdfAnnot + 12 subtype typers
Tagged (§14.6–14.8) pdfStructTree, pdfStructElement, pdfRoleMap, pdfParentTree, pdfClassMap, pdfMarkedContent
Crypto (§7.6, ISO TS 32003) pdfSecurity, pdfStandardV4/V5/V6, pdfPermissions, pdfAesGcm
Sig (§12.8, ISO TS 32001/32002) pdfSignature, pdfSign, pdfByteRange, pdfTimestamp, pdfCertChain, pdfDssBuilder, pdfSigOids, pdfSha1
OCG (§8.11) pdfOCG, pdfOCConfig
Outline (§12.3.3) pdfOutline
Destination (§12.3.2) pdfDestination
Action (§12.6) pdfAction + 4 subtype typers
Embedded (§7.11) pdfFileSpec, pdfEmbeddedFile, pdfCollection
Linearization (Annex F) pdfLinearization
Metadata (§14.3) pdfInfo, pdfXmp
Prepress (§14.11) pdfOutputIntent, pdfPageBoundary
Associated Files (PDF 2.0) pdfAssociatedFiles
Extras 32 opt-in modules (P0/P1/P2/P3/legacy)
Bundles pdf-large, pdf-full, pdf-legacy
Committed dist bundle matrix Read / Read+Write × size-segmentation, 8 roots × 2 surfaces

See also