Hi,
I'm trying to generate a pdf on a system (container )where are no fonts.
I have a font jar with the font.xml with the font family description, the ttf fonts and the jasperreports_extension.properties file :
net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory net.sf.jasperreports.extension.simple.font.families.xxx=jasperreports/font/xxx.xml
Locally, everything works fine, but when I deploy on a different server I get this error:
net.sf.jasperreports.engine.JRRuntimeException: Error initializing graphic environment. at net.sf.jasperreports.engine.util.JRGraphEnvInitializer.initializeGraphEnv(JRGraphEnvInitializer.java:63)
Any thoughts?
9 Answers:
I've added the fonts and properties file in my project's resource folder, but still not working.
src -> main -> resources -> jasperreports/font/xxx.xml + ttf fonts
src -> main -> resources -> jasperreports/template.jrxml
src -> main -> resources -> jasperreports_extension.properties
After some refactoring and testing, I found that the problem was caused by a NPE in the sun.awt.FontConfiguration class. It seems that the font library is looking for libfontconfig1 or the fontconfig.properties file.
The easiest solution was to replace the JDK version in that container from openjdk-8-alpine (which doesn't add the font libraries) with the default debian openjdk-8 version
Can you share the latest Jar file related to Fonts,
basically we need pdf file should work without updating Font package in Acrobat Reader DC.
currently we packed "jasperreports-fonts-6.0.0.jar" with required chinese Fonts (EUDC, Simsun) and deployed in server.
upon pdf file generation, its probpting in Acrobat Reader to update Font package. we dont want to update the Reader
getting Message when trying to open a pdf:
A font package is required to correctly display this page. Click "OK" to direct your browser to download the add-on from adobe.com. After installation, you will need to close and re-open the document to correctly view contents dependent on these newly installed fonts.