Uploaded image for project: 'PDFBox'
  1. PDFBox
  2. PDFBOX-1276

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

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 1.6.0
    • 2.0.0
    • AcroForm
    • 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.

      Attachments

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

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            msahyoun Maruan Sahyoun
            ravikiranm Ravikiran Mane
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment