Changes
- #77 — Added
/ASCII85Decodefilter support inPdfReader.rebuildContentStream(thanks @pm-phild). Follow-up: surfaceio.Copyerrors and fix the long-standingUnspported→Unsupportedtypo. - #78 — Allow a multipage PDF to be split when interleaving imports from multiple source files (thanks @pm-phild). Each
PdfWriternow carries a process-uniqueuidbaked into the/GOFPDITPLresource name, eliminating cross-writer name collisions. Covers bothSetSourceFileandSetSourceStream. - #81 — Handle PDFs with high object ids (thanks @pm-phild). Replaced the hard-coded 0..9999 index loop in
putImportedObjectswith a proper map walk; objects with source-PDF ids ≥ 9999 are no longer silently dropped. Follow-up: iterate keys in sorted order so output stays deterministic across runs. - #82 — Do not discard valid whitespace from the start of a stream (thanks @pm-phild). After the
streamkeyword, consume exactly one EOL (LF or CR/CRLF) per ISO 32000-1 §7.3.8.1, instead of greedily eating all leading whitespace.
Note for downstream PDF consumers
#78 changes the format of internal Form XObject names inside generated PDFs (/GOFPDITPL0 → /GOFPDITPL0-0). This is internal to the produced PDF and should not affect any consumer.