[ 
https://issues.apache.org/jira/browse/PDFBOX-4878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tilman Hausherr resolved PDFBOX-4878.
-------------------------------------
    Resolution: Fixed

Setting this one to resolved. Re the discussion we had off-ticket - I don't 
want to return null or empty because this seems inaccurate. I can return 
"Differences only" if you prefer.

> Call to DictionaryEncoding.getEncoding () throws NullPointerException for 
> some PDF's
> ------------------------------------------------------------------------------------
>
>                 Key: PDFBOX-4878
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4878
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>    Affects Versions: 2.0.20
>            Reporter: Thomas Gawehn
>            Assignee: Tilman Hausherr
>            Priority: Critical
>             Fix For: 2.0.21, 3.0.0 PDFBox
>
>         Attachments: test.pdf
>
>
> Wenn iterating all fonts in a PDF a call to 
> PDSimpleFont.getEncoding().getEncodingName () throws a NullPointerException 
> inside the library code for the attached sample-PDF.
> The situation can be reproduced, when running the following loop for the 
> attached PDF (test.pdf):
>  
>  
> {code:java}
>         PDDocument document = PDDocument.load (file);
>         int pages = document.getNumberOfPages ();
>         for (int i = 0; i < pages; ++i)
>         {
>             PDPage page = document.getPage (i);
>             PDResources resources = page.getResources ();
>             if (resources == null)
>                 continue;
>             Iterator<COSName> iter = resources.getFontNames ().iterator ();
>             while (iter.hasNext ())
>             {
>                 COSName cos = iter.next ();
>                 try
>                 {
>                     PDFont font = resources.getFont (cos);
>                     System.out.println (font.getName ());
>                     if (font instanceof PDSimpleFont)
>                     {
>                         PDSimpleFont simpleFont = (PDSimpleFont) font;
>                         Encoding encoding = simpleFont.getEncoding ();
>                         if (encoding != null)
>                         {
>                             try
>                             {
>                                 System.out.println ("* 
> encoding="+encoding.getEncodingName ());
>                             }
>                             catch (Exception e)
>                             {
>                                 e.printStackTrace ();
>                             }
>                         }
>                     }
>                 }
>                 catch (IOException e)
>                 {
>                     e.printStackTrace ();
>                 }
>             }
>         }
>         document.close ();
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to