You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Manoj Patel (JIRA)" <ji...@apache.org> on 2012/05/20 08:04:41 UTC

[jira] [Commented] (PDFBOX-1276) java.lang.NullPointerException on trying to set value for PDTextBox in pdf file.

    [ https://issues.apache.org/jira/browse/PDFBOX-1276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13279669#comment-13279669 ] 

Manoj Patel commented on PDFBOX-1276:
-------------------------------------

I found same issue and changed code in PDAppearance as
 if( retval == null )
            {
                retval = (PDFont)formResources.getFonts().get( fontName );
                //Bug Fix - START
                if(retval == null){
                	retval = PDType1Font.HELVETICA;
                }
               //Bug Fix - End
                streamResources.getFonts().put( fontName, retval );
            } 

It's working fine for me.
                
> java.lang.NullPointerException on trying to set value for PDTextBox in pdf file. 
> ---------------------------------------------------------------------------------
>
>                 Key: PDFBOX-1276
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-1276
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>    Affects Versions: 1.6.0
>         Environment: OS : Windows 7
> JVM : 1.7.0_02 [64-bit]
>            Reporter: Ravikiran Mane
>              Labels: patch
>         Attachments: pdfbox-app-1.6.0_changed.jar, pdfbox-app-1.6.0_changed_null_check.jar
>
>
> 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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira