PdfFontNormalizer.normalize() builds the normalized page as
new PDPage(originalPage.getMediaBox()), carrying over only the rewritten
content stream and resources. The original page's /Annots array is never
copied, so anything rendered via annotations is absent from -nf output:
AcroForm widget appearances (i.e. FILLED FORM FIELD VALUES), stamps, and
signature appearance streams.
Same root cause as #44 (/Rotate) and #45 (CropBox): the bare-page rebuild
discards page-dictionary structures wholesale. A future fix should copy the
page dictionary and replace only /Contents (+ isolated resources) instead
of rebuilding from nothing - that would close #44, #45, and this in one
change.
No test pins this yet; found by code reading during the decoder-core port
(the port intentionally left the page rebuild untouched).
PdfFontNormalizer.normalize() builds the normalized page as
new PDPage(originalPage.getMediaBox()), carrying over only the rewrittencontent stream and resources. The original page's /Annots array is never
copied, so anything rendered via annotations is absent from -nf output:
AcroForm widget appearances (i.e. FILLED FORM FIELD VALUES), stamps, and
signature appearance streams.
Same root cause as #44 (/Rotate) and #45 (CropBox): the bare-page rebuild
discards page-dictionary structures wholesale. A future fix should copy the
page dictionary and replace only /Contents (+ isolated resources) instead
of rebuilding from nothing - that would close #44, #45, and this in one
change.
No test pins this yet; found by code reading during the decoder-core port
(the port intentionally left the page rebuild untouched).