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 2015/07/20 18:43:19 UTC
svn commit: r1691978 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel:
PDDocument.java interactive/form/PDSignatureField.java
Author: tilman
Date: Mon Jul 20 16:43:18 2015
New Revision: 1691978
URL: http://svn.apache.org/r1691978
Log:
PDFBOX-2892: respect PDF/A requirements when using invisible signature annotation, as suggested by Petras
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java?rev=1691978&r1=1691977&r2=1691978&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java Mon Jul 20 16:43:18 2015
@@ -292,16 +292,14 @@ public class PDDocument implements Close
if (signatureField == null)
{
signatureField = new PDSignatureField(acroForm);
- // set visibility flags
- if (options.getVisualSignature() == null)
- {
- signatureField.getWidgets().get(0).setNoView(true);
- }
// append the signature object
signatureField.setValue(sigObject);
// backward linking
signatureField.getWidgets().get(0).setPage(page);
}
+ // to conform PDF/A-1 requirement:
+ // The /F key's Print flag bit shall be set to 1 and its Hidden, Invisible and NoView flag bits shall be set to 0
+ signatureField.getWidgets().get(0).setPrinted(true);
// Set the AcroForm Fields
List<PDField> acroFormFields = acroForm.getFields();
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java?rev=1691978&r1=1691977&r2=1691978&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDSignatureField.java Mon Jul 20 16:43:18 2015
@@ -207,7 +207,7 @@ public class PDSignatureField extends PD
if (widget != null)
{
// check if the signature is visible
- if (widget.getRectangle() != null &&
+ if (widget.getRectangle() == null ||
widget.getRectangle().getHeight() == 0 && widget.getRectangle().getWidth() == 0 ||
widget.isNoView() || widget.isHidden())
{