When rendering a PDF document in the following Qoppa’s PDF library products: jPDFImages, jPDFPrint, jPDFProcess, jPDFViewer, jPDFNotes or jPDFEditor, you might encounter a blank page with the following error displayed on a page.
This happens because the PDF document is calling for a font, ‘F0’ in this case, that is not embedded in the document and not present on the computer. According to the PDF specifications, such a PDF is a malformed document and the creator of the document should correct this document by embedding the font.
If you have enabled debugging, the following error log will show in your log (where ‘F0’ is the actual name of the missing font):
com.qoppa.pdf.PDFException: Missing Font: F0
A similar rendering issue also happens when a font that is supposed to be embedded can not be loaded:
How to Resolve This Issue?
It is possible to workaround this issue by enabling font substitution by making the following static call before rendering or converting an PDF page:
// You only need to make this static call once FontSettings.setUseSubstituteFont(true); // You can now make calls to the library // to open PDFs, etc...
If you are running an older version (v2016R1 and lower) of Qoppa libraries, the call is the following:
// You only need to make this static call once PDFErrorHandling.setUseSubstituteFont(true); // You can now make calls to the library // to open PDFs, etc...
Currently, the font used for substitution is the standard PDF Helvetica font.