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.

error_rendering_page_missing_font
Error Rendering Page Missing Font: F0

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:

Error Rendering Page Error loading embedded font

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.