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

Tilman Hausherr commented on PDFBOX-3853:
-----------------------------------------

It's unclear why I made that change at that time, but I suspect it was done 1) 
to make the code simpler, 2) to make the PDF files smaller. Not using the 
annotation avoids being forced to append parts of the page structure in 
incremental writing. Because if the annotation is new, the page dictionary is 
modified so it must be appended again, and in some cases this contains all sort 
of direct objects from the resources directory.

I prefer not make the change because of that and because of the risks. 
PDFBOX-3114 is an example of the difficulties associated with incremental 
updates, so I'd like to have as few as possible. That one was one of the 
weirdest issues I ever worked on.

If I were you, I wouldn't use the page annotations to check for signatures. Use 
acroform only. There is no guarantee that the annotation is on page 1. I found 
an example where it is on page 18 (digitalcorpora file 066692.pdf, I can attach 
it if you want to test). So you would have to check all pages.

> Invisible signature's page catalog tree is not updated
> ------------------------------------------------------
>
>                 Key: PDFBOX-3853
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-3853
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Signing
>    Affects Versions: 2.0.6
>            Reporter: ryuukei
>            Priority: Minor
>              Labels: signature
>         Attachments: PDDocument.patch
>
>
> According latest Acrobat PDF 1.7 speficication:
> http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf
> Page 695, section [Signature Fields]:
> * quote 1:
> The field type ( FT ) is Sig , and the field value
> ( V ) is a signature dictionary containing the signature and specifying 
> various at-
> tributes of the signature field.
> * quote 2:
> Like any other field, a signature field may actually be described by a widget 
> anno-
> tation dictionary containing entries pertaining to an annotation as well as a 
> field
> (see “Widget Annotations” on page 640). The annotation rectangle ( Rect ) in 
> such
> a dictionary gives the position of the field on its page. Signature fields 
> that are not
> intended to be visible should have an annotation rectangle that has zero 
> height
> and width.
> All in all, invisible signature also should be as a Signature Field, which is 
> one type of Annotation, thus the page catalog tree should be updated as well. 
> For fixing this improvement issue, in the class PDDocument.java L351~L353, 
> instead of terminating the process after [prepareVisibleSignature] by return, 
> continue with later on annotation update process would be better.  
> Personally I'm using itext-rups to analyse the pdf catalog structure, after 
> applying the patch, the signature present in the catalog tree 
> pages/page/annot/sig correctly.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to