[ 
https://issues.apache.org/jira/browse/PDFBOX-6142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18051170#comment-18051170
 ] 

Andreas Lehmkühler commented on PDFBOX-6142:
--------------------------------------------

[~tilman] thanks for double checking.

I've checked the parser as well and can't see any issue.

In a perfect world all objects of a compressed object stream shall be 
concatenated one after the other so that there aren't any gaps. In such cases 
currentPosition and finalPosition are the same. In the real world there may be 
some data between two objects (rubbish due to a bug in the writer or some end 
object marker which are not needed within a compressed object stream) so that 
there is a gap. That is the case which triggers the if-clause. In the last case 
where currentPosition > finalPosition something is wrong with the pdf. Either 
the offsets are wrong or there is to much data for an object or the parser is 
buggy. However, in such cases the claimed position most likely won't help.

IMHO we are done here, or did I miss something?


> New release will produce incorrect files.
> -----------------------------------------
>
>                 Key: PDFBOX-6142
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-6142
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Writing
>    Affects Versions: 3.0.6 PDFBox, 4.0.0
>            Reporter: Daniel Persson
>            Assignee: Andreas Lehmkühler
>            Priority: Critical
>             Fix For: 3.0.7 PDFBox, 4.0.0
>
>         Attachments: after.pdf, before.pdf
>
>
> After just running load and save of a file I get multiple syntax errors in 
> the result. No errors in the original.
>  
>  
> {code:java}
> PDDocument doc = Loader.loadPDF(new File("before.pdf"));
> doc.save(new File("after.pdf")); {code}
>  
>  
> When I have run this code I will then render the PDF with Poppler 
>  
> {code:java}
> pdftoppm version 25.08.0
> Copyright 2005-2025 The Poppler Developers - http://poppler.freedesktop.org
> Copyright 1996-2011, 2022 Glyph & Cog, LLC
> {code}
>  
>  
> Running this command
>  
> {code:java}
> pdftoppm -png after.pdf after {code}
>  
>  
> Will generate a lot off Syntax errors
> Syntax Error: Unterminated string
> Syntax Error: End of file inside dictionary
> Syntax Error (4124140): Illegal character ')'
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: Dictionary key must be a name object
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: Unterminated hex string
> Syntax Error (4127569): Illegal character <2f> in hex string
> Syntax Error (4127569): Illegal character <73> in hex string
> Syntax Error (4127569): Illegal character <6f> in hex string
> Syntax Error (4127569): Illegal character <6e> in hex string
> Syntax Error (4127569): Illegal character <74> in hex string
> Syntax Error (4127569): Illegal character <2f> in hex string
> Syntax Error (4127570): Illegal character <52> in hex string
> Syntax Error (4127571): Illegal character <4b> in hex string
> Syntax Error (4127572): Illegal character <47> in hex string
> Syntax Error (4127573): Illegal character <4e> in hex string
> Syntax Error (4127574): Illegal character <4f> in hex string
> Syntax Error (4127575): Illegal character <51> in hex string
> Syntax Error (4127577): Illegal character <2b> in hex string
> Syntax Error (4127577): Illegal character <47> in hex string
> Syntax Error (4127577): Illegal character <69> in hex string
> Syntax Error (4127577): Illegal character <6c> in hex string
> Syntax Error (4127577): Illegal character <6c> in hex string
> Syntax Error (4127577): Illegal character <53> in hex string
> Syntax Error (4127577): Illegal character <6e> in hex string
> Syntax Error (4127577): Illegal character <73> in hex string
> Syntax Error (4127580): Illegal character <2f> in hex string
> Syntax Error (4127580): Illegal character <6e> in hex string
> Syntax Error (4127580): Illegal character <6f> in hex string
> Syntax Error (4127580): Illegal character <69> in hex string
> Syntax Error (4127580): Illegal character <6e> in hex string
> Syntax Error (4127580): Illegal character <67> in hex string
> Syntax Error (4127580): Illegal character <2f> in hex string
> Syntax Error (4127580): Illegal character <57> in hex string
> Syntax Error (4127580): Illegal character <69> in hex string
> Syntax Error (4127580): Illegal character <6e> in hex string
> Syntax Error (4127580): Illegal character <6e> in hex string
> Syntax Error (4127580): Illegal character <73> in hex string
> Syntax Error (4127580): Illegal character <69> in hex string
> Syntax Error (4127580): Illegal character <6e> in hex string
> Syntax Error (4127580): Illegal character <6f> in hex string
> Syntax Error (4127580): Illegal character <69> in hex string
> Syntax Error (4127580): Illegal character <6e> in hex string
> Syntax Error: Unterminated hex string
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: Unterminated hex string
> Syntax Error (4128664): Illegal character <2f> in hex string
> Syntax Error (4128664): Illegal character <4d> in hex string
> Syntax Error (4128664): Illegal character <74> in hex string
> Syntax Error (4128664): Illegal character <74> in hex string
> Syntax Error (4128667): Illegal character <52> in hex string
> Syntax Error (4128667): Illegal character <2f> in hex string
> Syntax Error (4128667): Illegal character <53> in hex string
> Syntax Error (4128667): Illegal character <75> in hex string
> Syntax Error (4128667): Illegal character <74> in hex string
> Syntax Error (4128667): Illegal character <79> in hex string
> Syntax Error (4128667): Illegal character <70> in hex string
> Syntax Error (4128667): Illegal character <2f> in hex string
> Syntax Error (4128667): Illegal character <58> in hex string
> Syntax Error (4128667): Illegal character <4d> in hex string
> Syntax Error (4128667): Illegal character <4c> in hex string
> Syntax Error (4128667): Illegal character <2f> in hex string
> Syntax Error (4128667): Illegal character <54> in hex string
> Syntax Error (4128667): Illegal character <79> in hex string
> Syntax Error (4128667): Illegal character <70> in hex string
> Syntax Error (4128667): Illegal character <2f> in hex string
> Syntax Error (4128667): Illegal character <4d> in hex string
> Syntax Error (4128667): Illegal character <74> in hex string
> Syntax Error (4128667): Illegal character <74> in hex string
> Syntax Error (4128667): Illegal character '>'
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: End of file inside array
> Syntax Error: End of file inside dictionary
> Syntax Error: Unterminated string
> Syntax Error: End of file inside dictionary
> Syntax Error (4130539): Illegal character ')'
> Syntax Error: End of file inside dictionary
> Syntax Error: Unterminated string
> Syntax Error: End of file inside dictionary
> Syntax Error: Unterminated string
> Syntax Error: End of file inside dictionary
> Syntax Error: Kid object (page 1) is wrong type (integer)
>  
> Test is running on the last commit on the 3.0 branch.
> commit 41fbf05f7b470a92ca396f5253896a3d9d253e11 (HEAD -> 3.0, upstream/3.0)
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to