Binary layer: Uint8Array → tokens → typed objects → xref table → trailer.

Module Returns Deps Description
pdfTokenizer { tokenize, lastIndexOfBytes } pdfErrors, pdfShared Lexer §7.2.
pdfParserObj { obj, getEntry, isType } none Typed-object builders and reflection helpers.
pdfParser { tokenize, parseObject, parseIndirect, parseFromBytes, parseIndirectFromBytes, parserLimits, setParserLimits, obj, getEntry, isType } pdfErrors, pdfParserObj, pdfTokenizer Typed objects §7.3.
pdfXref { locateStartXref, readStartXref, parseXrefTable, parseTrailerDict, readXrefStreamDict, buildXrefStream } pdfErrors, pdfTokenizer, pdfParser Classical table §7.5.4.
pdfTrailer { typeTrailer } pdfErrors, pdfParserObj Typed trailer §7.5.5.
pdfSerializer { serializeObject, serializeIndirect, formatReal } pdfErrors Object emission §7.3.
pdfObjStream { parseObjectStream } pdfErrors, pdfParserObj, pdfTokenizer, pdfParser Object streams §7.5.7.
pdfCrossRefStream { parseCrossRefStream } pdfErrors, pdfParserObj Cross-reference streams §7.5.8.
Filters { decode, encode } × 4 + dispatch pdfErrors, zlib The /Filter chain §7.4.

Common pattern

const tokMod = runtime.resolve('pdfTokenizer');
const tok = tokMod.tokenize(bytes);
let t;
while ((t = tok.next())) { /* … */ }

See also