[
https://issues.apache.org/jira/browse/PDFBOX-6194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18077890#comment-18077890
]
Andreas Lehmkühler commented on PDFBOX-6194:
--------------------------------------------
Thanks for the clarification but I'm still not able to reproduce. I did a fresh
checkout of the 3.0-branch. Used 3 different JDKs (8,17 and 21). To see if the
test is ok at all I've replaced the space with an "A" to trigger the error
message. Everything works as expected. The test is complaining about some
differences when rendering the modified page.
I don't have any further idea where to look. Maybe it is OS dependent? I'm
using linux. The origin report states it is reproducible on WinServer 2016 but
no on Win11.
> COSStream becomes COSDictionary after save — shared XObject reference
> replaced by Font
> --------------------------------------------------------------------------------------
>
> Key: PDFBOX-6194
> URL: https://issues.apache.org/jira/browse/PDFBOX-6194
> Project: PDFBox
> Issue Type: Bug
> Components: PDModel
> Affects Versions: 3.0.7 PDFBox
> Environment: Windows Server 2016, Java 21, PDFBox 3.0.7
> Reporter: HABA
> Priority: Major
> Attachments: 000025.pdf, bad-000025.pdf,
> image-2026-04-20-12-33-11-057.png, image-2026-04-20-13-52-20-247.png,
> image-2026-04-20-13-52-44-302.png, image-2026-05-01-19-07-19-330.png,
> screenshot-1.png
>
>
> Hi,
> `document.save()` corrupts an `/XObject` on page 3 of a 3-page PDF.
> Before save:
> - `Obj5` = `COSStream` (ImageMask)
> After save:
> - `Obj5` = `COSDictionary` (Courier font)
> Pages 1–2 are unaffected. All pages share the same indirect XObject refs
> (`Obj4`, `Obj5`).
> Flow:
> - load PDF
> - render pages via `PDFRenderer.renderImageWithDPI()`
> - append invisible OCR text using `PDPageContentStream` (AppendMode.APPEND,
> Courier)
> - save document → corruption occurs
> Result:
> java.io.IOException: Unexpected object type: COSDictionary
>
> Reproduced consistently on:
> * Windows Server 2016, Java 21, PDFBox 3.0.7
> Not reproducible on:
> * Windows 11, Java 21 (same code + input)
> Likely related to shared indirect XObject being overwritten during save.
> Cannot share original PDF (confidential), but can test with synthetic
> reproducer if needed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]