[
https://issues.apache.org/jira/browse/PDFBOX-5717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17788843#comment-17788843
]
Michael Klink commented on PDFBOX-5717:
---------------------------------------
PDFBox has a problem with object 3 - in the catalog it is referred to as name
tree base for JavaScript:
{code}
4
0
obj
<<
/Type
/Catalog
/Names
<<
/JavaScript
3
0
R
>>
...
{code}
But there is no object 3 in the file:
{code}
xref
0 246
0000000002 65535 f
0002000782 00000 n
0000000003 00000 f
0000000000 00000 f
...
{code}
According to the spec, PDFBox should treat this as a {{null}} object:
{quote}
An indirect reference to an undefined object shall not be considered an error
by a PDF processor; it shall be treated as a reference to the null object.
{quote}
Unfortunately it doesn't:
{code}
Thread [main] (Suspended (exception NullPointerException))
owns: Hashtable<K,V> (id=64)
Hashtable<K,V>.computeIfAbsent(K, Function<? super K,? extends V>)
line: 1032
COSWriter.getObjectKey(COSBase) line: 1089
COSWriter.writeReference(COSBase) line: 1367
COSWriter.visitFromDictionary(COSDictionary) line: 1207
COSWriter.writeDictionary(COSDictionary) line: 1155
COSWriter.visitFromDictionary(COSDictionary) line: 1202
COSDictionary.accept(ICOSVisitor) line: 1265
COSWriter.doWriteObject(COSObjectKey, COSBase) line: 610
COSWriter.doWriteObject(COSBase) line: 643
COSWriter.doWriteObjects() line: 540
COSWriter.doWriteBody(COSDocument) line: 450
COSWriter.visitFromDocument(COSDocument) line: 1299
COSDocument.accept(ICOSVisitor) line: 413
COSWriter.write(PDDocument, SignatureInterface) line: 1568
COSWriter.write(PDDocument) line: 1444
PDDocument.saveIncrementalForExternalSigning(OutputStream) line: 1186
{code}
> NullPointerException calling saveIncrementalForExternalSigning
> --------------------------------------------------------------
>
> Key: PDFBOX-5717
> URL: https://issues.apache.org/jira/browse/PDFBOX-5717
> Project: PDFBox
> Issue Type: Bug
> Components: Signing
> Affects Versions: 3.0.0 PDFBox
> Reporter: Daniele Ribaudo
> Priority: Major
> Attachments:
> Cryptomathic_White_Paper_-_eIDAS_Compliant_Remote_eSigning.pdf
>
>
> I tried to apply a digital signature to the attached PDF using the method
> PDDocument.saveIncrementalForExternalSigning in the release 3.0.0 of PDFBox
> but a NPE is thrown every time.
> The same action executed on a 2.0.x release is successfully completed.
> Here you are a snipped code to reproduce the error:
>
> {code:java}
> PDDocument document = Loader.loadPDF(new
> File("Cryptomathic_White_Paper_-_eIDAS_Compliant_Remote_eSigning.pdf"));
> document.addSignature(new PDSignature(), new SignatureOptions());
> ExternalSigningSupport externalSigning =
> document.saveIncrementalForExternalSigning(new ByteArrayOutputStream());
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]