PDFBox
  1. PDFBox
  2. PDFBOX-1276

java.lang.NullPointerException on trying to set value for PDTextBox in pdf file.

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.6.0
    • Fix Version/s: None
    • Component/s: AcroForm
    • Labels:
    • Environment:
      OS : Windows 7
      JVM : 1.7.0_02 [64-bit]

      Description

      When trying to set value for a field in pdf using,

      PDDocument pdf = PDDocument.load(<pdfFileName>);
      PDDocumentCatalog docCatalog = pdf.getDocumentCatalog();
      PDAcroForm acroForm = docCatalog.getAcroForm();
      PDTextbox t = (PDTextbox) acroForm.getField(<fieldName>);
      t.setValue(<someValue>);

      got following exception :

      java.lang.NullPointerException
      at org.apache.pdfbox.pdmodel.common.COSDictionaryMap.put(COSDictionaryMap.java:106)
      at org.apache.pdfbox.pdmodel.interactive.form.PDAppearance.getFontAndUpdateResources(PDAppearance.java:440)
      at org.apache.pdfbox.pdmodel.interactive.form.PDAppearance.setAppearanceValue(PDAppearance.java:268)
      at org.apache.pdfbox.pdmodel.interactive.form.PDVariableText.setValue(PDVariableText.java:131)
      at qs.common.GenerateReports.generateBidderDeclaration_OBS_05_105(GenerateReports.java:71)

      Source of the exception :

      NullPointerException thrown at retval = (PDFont)formResources.getFonts().get( fontName ); in org.apache.pdfbox.pdmodel.interactive.form.PDAppearance

      Tried suggestion from following link :

      http://mail-archives.apache.org/mod_mbox/pdfbox-dev/201108.mbox/%3CBE54CE7A716A7247B1D3BF9D9C187CED0843E2A8@SOM-TEAQASMAIL1.som.w2k.state.me.us%3E

      i.e. intruduced a try-catch for

      retval = (PDFont)formResources.getFonts().get( fontName );

      resolved the issue for me as well.

      Also, I had to add try-catch for following :

      printWriter.println(getTextPosition(boundingBox, pdFont, fontSize, tokens));

      as getTextPosition() is throwing IOException as the pdFont is null.

      Creating this issue so that the bug is documented and would like to see the change in upcoming releases.

      Shall attach the jar file that contains the changes which resolved the issue.

      1. pdfbox-app-1.6.0_changed.jar
        9.83 MB
        Ravikiran Mane
      2. pdfbox-app-1.6.0_changed_null_check.jar
        9.83 MB
        Ravikiran Mane
      3. Bug 1276.patch
        0.6 kB
        Manoj Patel

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Ravikiran Mane
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development