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
- README package
- CHANGELOG
@awacloud/fwdoc format spec@awacloud/ooxml— sibling factory + bundles archetype