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 2014/11/07 23:41:48 UTC
svn commit: r1637476 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
Author: tilman
Date: Fri Nov 7 22:41:48 2014
New Revision: 1637476
URL: http://svn.apache.org/r1637476
Log:
PDFBOX-2470: avoid ClassCastException or NullPointerException in addSignature, as suggested by Huynh and John Hewson
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.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=1637476&r1=1637475&r2=1637476&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 Fri Nov 7 22:41:48 2014
@@ -328,17 +328,20 @@ public class PDDocument implements Close
{
COSDictionary cosBaseDict = (COSDictionary) base;
- // Appearance Dictionary auslesen und setzen
- PDAppearanceDictionary ap = new PDAppearanceDictionary(
- (COSDictionary) cosBaseDict.getItem(COSName.AP));
+ // read and set Appearance Dictionary
+ PDAppearanceDictionary ap =
+ new PDAppearanceDictionary((COSDictionary)cosBaseDict.getDictionaryObject(COSName.AP));
ap.getCOSObject().setDirect(true);
signatureField.getWidget().setAppearance(ap);
- // AcroForm DefaultRessource auslesen und setzen
+ // read and set AcroForm DefaultResource
COSBase dr = cosBaseDict.getItem(COSName.DR);
- dr.setDirect(true);
- dr.setNeedToBeUpdate(true);
- acroFormDict.setItem(COSName.DR, dr);
+ if (dr != null)
+ {
+ dr.setDirect(true);
+ dr.setNeedToBeUpdate(true);
+ acroFormDict.setItem(COSName.DR, dr);
+ }
sigFieldNotFound = false;
}
}