Hello,

PDFBox is a great piece of software. We've been using PDFBox 3.0.5 to convert 
some PDFs to images. It's been working well but we've encountered the following 
error message for one of our PDFs:
Exception in thread "main" java.io.IOException: Type 2 descendant font not 
allowed
 :at 
org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:105)
 :at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:171)
 :at 
org.apache.pdfbox.contentstream.operator.text.SetFontAndSize.process(SetFontAndSize.java:66)
 :at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:980)
 :at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:555)
 :at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:530)
 :at 
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:155)
 :at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:288)
 :at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:355)
 :at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:272)
 :at 
org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:258)
 :at org.apache.pdfbox.tools.PDFToImage.main(PDFToImage.java:262)
 :at org.apache.pdfbox.tools.PDFBox.main(PDFBox.java:93)

Looking at the PDF, the issue seems to be that we're using the Type 2 CIDFont 
directly instead of having it be a descendant of a Type 0 font.

We are able to display the pdf in a variety of different PDF viewers, like 
Chrome PDF viewer. It seems that the PDF viewers are more relaxed with how 
fonts are used compared to the PDF specification. Is it possible to have PDFBox 
be less strict and process this type of PDF either through a configuration 
setting or programmatically? It would be great if PDFBox was more flexible like 
many PDF viewers.

Thank you,
Luis

Reply via email to