You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2017/03/28 15:43:46 UTC
svn commit: r1789166 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
Author: tilman
Date: Tue Mar 28 15:43:46 2017
New Revision: 1789166
URL: http://svn.apache.org/viewvc?rev=1789166&view=rev
Log:
PDFBOX-3738: remove /NeedAppearances when there are no previous fields because signature would be invisible in Adobe Reader
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java?rev=1789166&r1=1789165&r2=1789166&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java Tue Mar 28 15:43:46 2017
@@ -352,7 +352,21 @@ public class PDDocument implements Close
prepareNonVisibleSignature(signatureField);
return;
}
-
+
+ if (acroForm.getNeedAppearances())
+ {
+ // PDFBOX-3738 NeedAppearances true results in signature becoming invisible with Adobe Reader
+ if (acroFormFields.size() == 1)
+ {
+ // we can safely delete it if there are no fields
+ acroForm.getCOSObject().removeItem(COSName.NEED_APPEARANCES);
+ }
+ else
+ {
+ LOG.warn("/NeedAppearances is set, signature may be ignored in Adobe Reader");
+ }
+ }
+
prepareVisibleSignature(signatureField, acroForm, visualSignature);
// Create Annotation / Field for signature