[ https://issues.apache.org/jira/browse/PDFBOX-4540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16836390#comment-16836390 ]
Tilman Hausherr commented on PDFBOX-4540: ----------------------------------------- Can you also mention to what object it applies in the attached file? > COSWriter sometimes retrieves wrong ObjectKey > --------------------------------------------- > > Key: PDFBOX-4540 > URL: https://issues.apache.org/jira/browse/PDFBOX-4540 > Project: PDFBox > Issue Type: Bug > Components: Writing > Affects Versions: 2.0.14 > Reporter: Jonathan > Priority: Major > Labels: patch, pull-request-available > Attachments: sample.pdf > > > If a COSBase is directly embedded in a COSObject, it should not be assigned a > new object number by the writer. We suggest the following implementation for > `COSWriter.getObjectKey(COSBase)`: > {code:java} > /** > * This will get the object key for the object. > * > * @param obj The object to get the key for. > * > * @return The object key for the object. > */ > protected COSObjectKey getObjectKey( COSBase obj ) > { > COSBase actual = obj; > if( actual instanceof COSObject ) > { > actual = ((COSObject)obj).getObject(); > } > COSObjectKey key = null; > key = objectKeys.get(obj); > if( key == null && actual != null ) > { > key = objectKeys.get(actual); > } > if (key == null) > { > setNumber(getNumber()+1); > key = new COSObjectKey(getNumber(),0); > objectKeys.put(obj, key); > if( actual != null ) > { > objectKeys.put(actual, key); > } > } > return key; > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org