Skip to content

v1.0.16

Latest

Choose a tag to compare

@phpdave11 phpdave11 released this 15 Apr 23:48
7606376

Changes

  • #77 — Added /ASCII85Decode filter support in PdfReader.rebuildContentStream (thanks @pm-phild). Follow-up: surface io.Copy errors and fix the long-standing UnspportedUnsupported typo.
  • #78 — Allow a multipage PDF to be split when interleaving imports from multiple source files (thanks @pm-phild). Each PdfWriter now carries a process-unique uid baked into the /GOFPDITPL resource name, eliminating cross-writer name collisions. Covers both SetSourceFile and SetSourceStream.
  • #81 — Handle PDFs with high object ids (thanks @pm-phild). Replaced the hard-coded 0..9999 index loop in putImportedObjects with 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 stream keyword, 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.