Jasper - Problem reading font data

2 respostas
M

Tenho um relatório que está utilizando como fonte o Helvetica Neue.
Instalei as fonts no ireport e depois exportei para um .jar ( como ensina o tutorial) coloquei no meu projeto e em um ambiente Windows deu tudo certo, mas quando tento executar em um ambiente Linux não funciona lançando a seguinte exceção:

12:47:07,248 ERROR [stderr] (http?0.0.0.0-8443-2) Caused by: net.sf.jasperreports.engine.JRRuntimeException: java.io.IOException: Problem reading font data. 12:47:07,249 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.fonts.SimpleFontFace.(SimpleFontFace.java:109) 12:47:07,250 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.fonts.SimpleFontFace.(SimpleFontFace.java:129) 12:47:07,250 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.fonts.SimpleFontFace.getInstance(SimpleFontFace.java:68) 12:47:07,251 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.fonts.SimpleFontFamily.setNormal(SimpleFontFamily.java:99) 12:47:07,251 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamily(SimpleFontExtensionHelper.java:261) 12:47:07,252 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamilies(SimpleFontExtensionHelper.java:232) 12:47:07,253 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:193) 12:47:07,256 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:162) 12:47:07,256 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:56) 12:47:07,257 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:110) 12:47:07,261 ERROR [stderr] (http?0.0.0.0-8443-2) at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:83) 12:47:07,261 ERROR [stderr] (http?0.0.0.0-8443-2) ? 36 more
Alguém já teve esse problema e gostaria de ajudar?

2 Respostas

H

Ontem, me deparei com o mesmo problema: após um monte de depuração, inclusive dos fontes do Jasper Reports e da API do Java, cheguei à conclusão de que o erro ocorre dentro da rotina java.awt.Font.createFont(int fontFormat, InputStream fontStream), mais especificamente, no momento em que esta rotina tenta criar um arquivo temporário; no meu caso específico, a raiz do problema era o fato de que a pasta temp do Tomcat não existia. Tente verificar qual é o valor de System.getProperty(“java.io.tmpdir”) imediatamente antes de chamar o relatório, para saber qual é o problema.

C

Estou com o mesmo problema, porém rodando no Windows eu consigo gerar o relatório normalmente o problema é quando tendo rodar no Linux.
Verifiquei o valor do “java.io.tmpdir”, é a pasta temp do tomcat, a pasta existe, mudei a permissão para total na pasta, mas continua o mesmo problema.
Alguém tem alguma idéia??

Criado 22 de agosto de 2012
Ultima resposta 5 de nov. de 2012
Respostas 2
Participantes 3