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

Lonzak updated PDFBOX-5587:
---------------------------
    Description: 
Since April we get the following NPE in our software.

PDFBox is used to convert PDFs to images.

 
{code:java}
java.lang.NullPointerException: null
    at 
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.getPath(PDTrueTypeFont.java:470) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.TTFGlyph2D.getPathForGID(TTFGlyph2D.java:144) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.TTFGlyph2D.getPathForCharacterCode(TTFGlyph2D.java:93)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at org.apache.pdfbox.rendering.PageDrawer.drawGlyph2D(PageDrawer.java:514) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.PageDrawer.showFontGlyph(PageDrawer.java:495) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:793)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:811)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showText(PDFStreamEngine.java:749)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showTextString(PDFStreamEngine.java:608)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.operator.text.ShowText.process(ShowText.java:56)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:939)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:514)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:492)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:155)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:282) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:355) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:272) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:258)
 ~[pdfbox-2.0.25.jar:2.0.25]{code}
This is a bit strange, since I thought that this bug was fixed with PDFBOX-3488

PdfBox is running on a linux server but when I tried to access the PDFs I 
failed to find the right one (over 1 million docs on that server).

On the other hand the fix linked in the ticket points to the following 
implementation:

 
{code:java}
 @Override
 public GeneralPath getPath(int code) throws IOException{
   if (ttf.getGlyph() == null){
     throw new IOException("glyf table is missing in font " + getName());
   } {code}
which does not exist anymore in 2.0.3 or higher:

 
{code:java}
@Override
    public GeneralPath getPath(int code) throws IOException{
        int gid = codeToGID(code);
        GlyphData glyph = ttf.getGlyph().getGlyph(gid); {code}
Any idea why an NPE might occur?

`ttf` might be null or `getGlyph` returns null?

 

  was:
*Since some time we get the following Nullpointer when using PdfBox:*

 

 
{code:java}
java.lang.NullPointerException: null
    at 
org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.getPath(PDTrueTypeFont.java:470) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.TTFGlyph2D.getPathForGID(TTFGlyph2D.java:144) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.TTFGlyph2D.getPathForCharacterCode(TTFGlyph2D.java:93)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at org.apache.pdfbox.rendering.PageDrawer.drawGlyph2D(PageDrawer.java:514) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.PageDrawer.showFontGlyph(PageDrawer.java:495) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:793)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:811)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showText(PDFStreamEngine.java:749)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.showTextString(PDFStreamEngine.java:608)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.operator.text.ShowText.process(ShowText.java:56)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:939)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:514)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:492)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:155)
 ~[pdfbox-2.0.25.jar:2.0.25]
    at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:282) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:355) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:272) 
~[pdfbox-2.0.25.jar:2.0.25]
    at 
org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:258)
 ~[pdfbox-2.0.25.jar:2.0.25]{code}
This is a bit strange since I thought that this bug was fixed with 
[PDFBOX-3488|https://issues.apache.org/jira/browse/PDFBOX-3488]

PdfBox is running on a linux server but when I tried to access the PDFs I 
failed to find the right one (over 1 million docs on that server).

On the other hand the fix linked in the ticket points to the following 
implementation:

 
{code:java}
 @Override
 public GeneralPath getPath(int code) throws IOException{
   if (ttf.getGlyph() == null){
     throw new IOException("glyf table is missing in font " + getName());
   } {code}
which does not exist anymore in 2.0.3 or higher:

 
{code:java}
@Override
    public GeneralPath getPath(int code) throws IOException{
        int gid = codeToGID(code);
        GlyphData glyph = ttf.getGlyph().getGlyph(gid); {code}
Any idea why an NPE might occur?

 

 


> NullPointerException in PDTrueTypeFont.java getPath( )
> ------------------------------------------------------
>
>                 Key: PDFBOX-5587
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5587
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Parsing
>    Affects Versions: 2.0.25
>         Environment: Linux server
>            Reporter: Lonzak
>            Priority: Major
>
> Since April we get the following NPE in our software.
> PDFBox is used to convert PDFs to images.
>  
> {code:java}
> java.lang.NullPointerException: null
>     at 
> org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.getPath(PDTrueTypeFont.java:470)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.rendering.TTFGlyph2D.getPathForGID(TTFGlyph2D.java:144) 
> ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.rendering.TTFGlyph2D.getPathForCharacterCode(TTFGlyph2D.java:93)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.rendering.PageDrawer.drawGlyph2D(PageDrawer.java:514) 
> ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.rendering.PageDrawer.showFontGlyph(PageDrawer.java:495) 
> ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:793)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:811)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.showText(PDFStreamEngine.java:749)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.showTextString(PDFStreamEngine.java:608)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.contentstream.operator.text.ShowText.process(ShowText.java:56)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:939)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:514)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:492)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:155)
>  ~[pdfbox-2.0.25.jar:2.0.25]
>     at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:282) 
> ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:355) 
> ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:272) 
> ~[pdfbox-2.0.25.jar:2.0.25]
>     at 
> org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:258)
>  ~[pdfbox-2.0.25.jar:2.0.25]{code}
> This is a bit strange, since I thought that this bug was fixed with 
> PDFBOX-3488
> PdfBox is running on a linux server but when I tried to access the PDFs I 
> failed to find the right one (over 1 million docs on that server).
> On the other hand the fix linked in the ticket points to the following 
> implementation:
>  
> {code:java}
>  @Override
>  public GeneralPath getPath(int code) throws IOException{
>    if (ttf.getGlyph() == null){
>      throw new IOException("glyf table is missing in font " + getName());
>    } {code}
> which does not exist anymore in 2.0.3 or higher:
>  
> {code:java}
> @Override
>     public GeneralPath getPath(int code) throws IOException{
>         int gid = codeToGID(code);
>         GlyphData glyph = ttf.getGlyph().getGlyph(gid); {code}
> Any idea why an NPE might occur?
> `ttf` might be null or `getGlyph` returns null?
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to