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

Michael Klink edited comment on PDFBOX-5561 at 1/27/23 4:12 PM:
----------------------------------------------------------------

Hhmmm, the problem is that there is no entry for the xref stream object 12990 
in the xref stream. According to spec there must be an entry in the xrefs for 
the xref stream object, too.
{panel:title=ISO 32000-2 section 7.5.8.3 "Cross-reference stream data"}
Like any stream, a cross-reference stream shall be an indirect object. 
Therefore, an entry for it shall exist in either a cross-reference stream 
(usually itself) or in a cross-reference table (in hybridreference files; see 
7.5.8.4, "Compatibility with applications that do not support compressed 
reference streams").
{panel}


was (Author: mkl):
Hhmmm, the problem is that there is no entry for the xref stream object 12990 
in the xref stream. According to spec there must be an entry in the xrefs for 
the xref stream object, too.

> qpdf shows warnings trying to linearize file modified by PDFBOX
> ---------------------------------------------------------------
>
>                 Key: PDFBOX-5561
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5561
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Writing
>    Affects Versions: 2.0.27
>            Reporter: menteith85
>            Priority: Minor
>
> I have a PDF file* that is generated by a software other than PDFBox. When 
> the PDF is modified by code given below using PDFBOX, *qpdf* shows the 
> following warning:
> {code:java}
> WARNING: modified.pdf: reported number of objects (12991) is not one plus the 
> highest object number (12989)
> qpdf: operation succeeded with warnings; resulting file may have some 
> problems{code}
> Note the warning is not shown when *qpdf* analyses original pdf file (ie. pdf 
> not modified by PDFBox).
> Here's the code to modify PDF in question:
>  
> {code:java}
> for (final PDPage page: document.getPages()) {
>     page.getAnnotations().forEach(annotation - > {
>         if (annotation instanceof PDAnnotationLink link) {
>             final PDPageXYZDestination destination = new 
> PDPageXYZDestination();
>             destination.setPage(document.getPage(1));
>             final PDActionGoTo action = new PDActionGoTo();
>             action.setDestination(destination);
>             link.setAction(action);
>         }
>     });
> } {code}
>  
> I forgot to mention that the result file generated by PDFBox is almost as 
> twice as big as the original one.
> *I've sent the file to Tilman Hausherr.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to