PDFBox
  1. PDFBox
  2. PDFBOX-1276

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

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: 1.6.0
    • Fix Version/s: 2.0.0
    • 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

        Maruan Sahyoun made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Duplicate [ 3 ]
        Maruan Sahyoun made changes -
        Fix Version/s 2.0.0 [ 12319281 ]
        Maruan Sahyoun made changes -
        Assignee Maruan Sahyoun [ msahyoun ]
        John Hewson made changes -
        Component/s AcroForm [ 12312225 ]
        Component/s PDModel [ 12312224 ]
        Manoj Patel made changes -
        Attachment Bug 1276.patch [ 12528304 ]
        Andreas Lehmkühler made changes -
        Fix Version/s 1.6.0 [ 12316242 ]
        Ravikiran Mane made changes -
        Summary NullPointerException thrown at retval = (PDFont)formResources.getFonts().get( fontName ); in org.apache.pdfbox.pdmodel.interactive.form.PDAppearance java.lang.NullPointerException on trying to set value for PDTextBox in pdf file.
        Description When trying to set value for a field in pdf, 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)

        Hence after following 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.
        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.
        Ravikiran Mane made changes -
        Attachment pdfbox-app-1.6.0_changed_null_check.jar [ 12521071 ]
        Ravikiran Mane made changes -
        Description When trying to set value for a field in pdf, 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)

        Hence after following 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 font 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.
        When trying to set value for a field in pdf, 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)

        Hence after following 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.
        Ravikiran Mane made changes -
        Comment [ Note the changes would not block the exceptions thrown however it allows creation of pdf inspite to Exceptions. ]
        Ravikiran Mane made changes -
        Attachment pdfbox-app-1.6.0_changed.jar [ 12521063 ]
        Ravikiran Mane made changes -
        Attachment pdfbox-app-1.6.0.jar [ 12521062 ]
        Ravikiran Mane made changes -
        Attachment pdfbox-app-1.6.0.jar [ 12521062 ]
        Ravikiran Mane made changes -
        Field Original Value New Value
        Description When trying to set value for a field in pdf, 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)

        Hence after following 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.

        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.
        When trying to set value for a field in pdf, 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)

        Hence after following 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 font 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.
        Ravikiran Mane created issue -

          People

          • Assignee:
            Maruan Sahyoun
            Reporter:
            Ravikiran Mane
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development