Author: tilman Date: Fri Aug 2 03:55:58 2024 New Revision: 1919634 URL: http://svn.apache.org/viewvc?rev=1919634&view=rev Log: PDFBOX-5859: avoid NPE or StringIndexOutOfBoundsException
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java?rev=1919634&r1=1919633&r2=1919634&view=diff ============================================================================== --- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java (original) +++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java Fri Aug 2 03:55:58 2024 @@ -709,6 +709,10 @@ class AppearanceGeneratorHelper private void insertGeneratedCombAppearance(PDAppearanceContentStream contents, PDAppearanceStream appearanceStream, PDFont font, float fontSize) throws IOException { + if (value == null || value.isEmpty()) + { + return; + } int maxLen = ((PDTextField) field).getMaxLen(); int quadding = field.getQ(); int numChars = Math.min(value.length(), maxLen); Modified: pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java?rev=1919634&r1=1919633&r2=1919634&view=diff ============================================================================== --- pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java (original) +++ pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/CombAlignmentTest.java Fri Aug 2 03:55:58 2024 @@ -50,10 +50,13 @@ class CombAlignmentTest { PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm(); PDField field = acroForm.getField("PDFBoxCombLeft"); + field.setValue(""); field.setValue(TEST_VALUE); field = acroForm.getField("PDFBoxCombMiddle"); + field.setValue(""); field.setValue(TEST_VALUE); field = acroForm.getField("PDFBoxCombRight"); + field.setValue(""); field.setValue(TEST_VALUE); // compare rendering File file = new File(OUT_DIR, NAME_OF_PDF);