[
https://issues.apache.org/jira/browse/PDFBOX-5561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17681229#comment-17681229
]
Tilman Hausherr edited comment on PDFBOX-5561 at 1/27/23 8:37 AM:
------------------------------------------------------------------
I added some tracing to {{PDFXrefStreamParser.parse()}}. The object ids within
the XRef stream go from 1 to 12989.
The problem is how do we define "section" in "The number one greater than the
highest object number used in this section", does this mean only the XRef
stream itself, or the section in the PDF? This is the "possibly problematic"
code:
{code}
// the size is the highest object number+1. we add one more
// for the xref stream object we are going to write
pdfxRefStream.setSize(getNumber() + 2);
{code}
was (Author: tilman):
I added some tracing to {{PDFXrefStreamParser.parse()}}. The object ids go from
1 to 12989.
The problem is how do we define "section" in "The number one greater than the
highest object number used in this section", does this mean only the XRef
stream itself, or the section in the PDF? This is the "possibly problematic"
code:
{code}
// the size is the highest object number+1. we add one more
// for the xref stream object we are going to write
pdfxRefStream.setSize(getNumber() + 2);
{code}
> 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
> 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: [email protected]
For additional commands, e-mail: [email protected]