According latest Acrobat PDF 1.7 speficication:
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
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.