Details
Description
Hi
I have made the following modifications to avoid ClassCastException or NullPointerException in addSignature(PDSignature sigObject, SignatureInterface signatureInterface, SignatureOptions options) :
// read and set Appearance Dictionary // MOD_CS // PDAppearanceDictionary ap = // new PDAppearanceDictionary((COSDictionary)cosBaseDict.getItem(COSName.AP)); // ap.getDictionary().setDirect(true); // signatureField.getWidget().setAppearance(ap); COSBase item = cosBaseDict.getItem(COSName.AP); if (item instanceof COSObject) { item = ((COSObject) item).getObject(); } if (item instanceof COSDictionary) { PDAppearanceDictionary ap = new PDAppearanceDictionary((COSDictionary) item); ap.getDictionary().setDirect(true); signatureField.getWidget().setAppearance(ap); } // read and set AcroForm DefaultRessource COSBase dr = cosBaseDict.getItem(COSName.DR); // MOD_CS if (dr != null) { dr.setDirect(true); dr.setNeedToBeUpdate(true); acroFormDict.setItem(COSName.DR, dr); }
Regards