Author: msahyoun Date: Sat Oct 24 13:32:34 2020 New Revision: 1882808 URL: http://svn.apache.org/viewvc?rev=1882808&view=rev Log: PDFBOX-4985: use new Acroform access without applying fixes
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/AcroFormValidationProcess.java Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/AcroFormValidationProcess.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/AcroFormValidationProcess.java?rev=1882808&r1=1882807&r2=1882808&view=diff ============================================================================== --- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/AcroFormValidationProcess.java (original) +++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/AcroFormValidationProcess.java Sat Oct 24 13:32:34 2020 @@ -55,17 +55,10 @@ public class AcroFormValidationProcess e PDDocumentCatalog catalog = ctx.getDocument().getDocumentCatalog(); if (catalog != null) { - // PDFBOX-4985 regenerates appearnce streams for fields when doing a PD model - // access to the AcroForm and in turn sets a NeedAppearances flag to false - // do a low level check for the NeedAppearances flag - COSDictionary cosAcroForm = catalog.getCOSObject().getCOSDictionary(COSName.ACRO_FORM); - if (cosAcroForm != null) { - checkNeedAppearences(ctx, cosAcroForm); - } - - PDAcroForm acroForm = catalog.getAcroForm(); + PDAcroForm acroForm = catalog.getAcroForm(false); if (acroForm != null) { + checkNeedAppearences(ctx, acroForm); try { exploreFields(ctx, acroForm.getFields()); @@ -90,9 +83,9 @@ public class AcroFormValidationProcess e * @param ctx the preflight context. * @param acroForm the AcroForm. */ - protected void checkNeedAppearences(PreflightContext ctx, COSDictionary cosAcroForm) + protected void checkNeedAppearences(PreflightContext ctx, PDAcroForm acroForm) { - if (cosAcroForm.getBoolean(COSName.NEED_APPEARANCES, false)) + if (acroForm.getNeedAppearances()) { addValidationError(ctx, new ValidationError(ERROR_SYNTAX_DICT_INVALID, "NeedAppearance is present with the value \"true\""));