Erro: Caused by: java.io.IOException: Problem reading font data - Como resolver?

Problema

Quando estiver configurado a impressão e/ou geração de PDF dos Documentos Fiscais emitidos e não houver permissão, ou não existir a pasta de arquivos temporários usados pelo serviço Oobj DFe Client haverá o erro abaixo nos registros do serviço, que é salvo no caminho padrão: 

C:\Oobj\Aplicativos\Oobj\motor-periferico-std\logs\ wrapper-motor-periferico-std.log

0106 20:10:34,734 [Thread-38] DEBUG RGerarDanfce3_10 - Preenchendo bean do DANFE
Exception in thread "Thread-38" java.lang.ExceptionInInitializerError
    at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:96)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:73)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
    at net.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:186)
    at net.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:201)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:109)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:667)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:983)
    at br.com.oobj.relatorio.RRelatorioJasper.gerarJasperPrint(RRelatorioJasper.java:170)
    at br.com.oobj.relatorio.RRelatorioJasper.gerarJasperPrint(RRelatorioJasper.java:155)
    at br.com.oobj.RGerarDame.gerarJasperPrint(RGerarDame.java:368)
    at br.com.oobj.me.impressao.GeradorDanfce.gerarDAME(GeradorDanfce.java:76)
    at br.com.oobj.me.impressao.GeradorDameDelegator.gerarDAME(GeradorDameDelegator.java:28)
    at br.com.oobj.me.impressao.ServicoImpressao.gerarJasperPrintDocumentoPrincipal(ServicoImpressao.java:382)
    at br.com.oobj.me.impressao.ServicoImpressao.processar(ServicoImpressao.java:258)
    at br.com.oobj.me.impressao.ConsumidorImpressao.novaMensagem(ConsumidorImpressao.java:102)
    at br.com.oobj.util.fila.ConsumidorNotificante.processarComCommitSincrono(ConsumidorNotificante.java:333)
    at br.com.oobj.util.fila.ConsumidorNotificante.execute(ConsumidorNotificante.java:178)
    at br.com.oobj.util.fila.ConsumidorNotificante.run(ConsumidorNotificante.java:135)
    at br.com.oobj.me.impressao.ConsumidorImpressao.run(ConsumidorImpressao.java:75)
Caused by: net.sf.jasperreports.engine.JRRuntimeException: java.io.IOException: Problem reading font data.
    at net.sf.jasperreports.engine.fonts.SimpleFontFace.setTtf(SimpleFontFace.java:181)
    at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFace(SimpleFontExtensionHelper.java:351)
    at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamily(SimpleFontExtensionHelper.java:273)
    at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamilies(SimpleFontExtensionHelper.java:237)
    at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:198)
    at net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:167)
    at net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:58)
    at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:109)
    at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:82)
    ... 20 more
Caused by: java.io.IOException: Problem reading font data.
    at java.awt.Font.createFont0(Font.java:1000)
    at java.awt.Font.createFont(Font.java:877)
    at net.sf.jasperreports.engine.fonts.SimpleFontFace.setTtf(SimpleFontFace.java:173)
    ... 28 more

 

Solução/Procedimento

Para corrigir o erro, veja os passos a seguir:

1 -  Vá até a pasta abaixo e abra o arquivo wapper.conf com um editor de texto (recomendamos o Notepad++):

C:\Oobj\Aplicativos\Oobj\motor-periferico-std\conf

 

2 - Pesquise no arquivo que acabou de abrir pelo trecho abaixo:

# Java Additional Parameters

 

Para facilitar a pesquisa, use o comando "Ctrl + F" para abrir o Localizador de palavras, cole o trecho acima no campo de pesquisa e clique em Localizar próximo:

 

3 - Adicione o parâmetro em destaque na imagem abaixo:

 

Nas versões mais recentes, o parâmetro em questão, já vem adicionado por padrão.

Se o parâmetro já existir, vá ao próximo passo. Caso não exista o parâmetro, adicione-o.

wrapper.java.additional.6=-Djava.io.tmpdir=temp

 

Você deve ter atenção apenas a um detalhe. Cada parâmetro tem um número sequencial que deve ser respeitado. No nosso exemplo, o parâmetro que adicionamos está com o número "6" (seis), que é a sua posição. Basta você verificar qual o número do último parâmetro existente, e informar o próximo número para o parâmetro que vamos adicionar.

Após ter adicionado o parâmetro, salve o arquivo e feche o editor de texto.

 

4 - Vá até a pasta do serviço Oobj, no caminho abaixo:

C:\Oobj\Aplicativos\Oobj\motor-periferico-std

 

Nessa pasta, caso não exista, crie uma nova pasta com o nome:  temp

 

5 - Por último, basta reiniciar o serviço Oobj DFe Client. Para isso, siga os passos:

  1. Abra o Executar do Windows através do comando: "  + R " e digite services.msc




  2. Procure pelo serviço Oobj DFe Client e então clique em Reiniciar.




  3. Aguarde o reinicialização do serviço:

 

6 - Pronto! Aguarde mais alguns segundos após o serviço já ter reiniciado, que seu documento será impresso. Nos logs do serviço, o mesmo que viu o erro ocorrer, deve mostrar o documento sendo impresso. Veja um exemplo:

1307 11:11:55,056 [Thread-39] DEBUG ServicoImpressao - Gerando DAME da ME: 43160785813757000157655010304884171131447741 - inicio
1307 11:11:55,069 [Thread-39] DEBUG RGerarDanfce3_10 - Preenchendo bean do DANFE
1307 11:13:19,938 [Thread-39] DEBUG ServicoImpressao - Gerando DAME da ME: 43160785813757000157655010304884171131447741 - fim
1307 11:13:19,939 [Thread-39] DEBUG ServicoImpressao - Salvando DAME - inicio: C:\Oobj\Integracao\PDF\43160785813757000157655010304884171131447741.pdf
1307 11:13:20,540 [Thread-39] DEBUG ServicoImpressao - Salvando DAME - fim
1307 11:13:20,540 [Thread-39] DEBUG ServicoImpressao - Gerando documentos adicionais - inicio
1307 11:13:20,540 [Thread-39] DEBUG CustomizadoDelegator - Nenhum gerador de documento especifico para o tipo, usarei GeradorBoleto: tpcustom-nfe-sefaz
1307 11:13:20,547 [Thread-39] INFO  GeradorBoleto - XML nao possui conteudo. Nao gerarei boleto
1307 11:13:20,547 [Thread-39] DEBUG ServicoImpressao - Gerando documentos adicionais - fim
1307 11:13:20,547 [Thread-39] INFO  ServicoImpressao - 0 documentos adicionais gerados
1307 11:13:20,548 [Thread-39] DEBUG ServicoImpressao - Imprimindo - inicio: IMPRESSAO OOBJ - EMITENTE: 85.813.757/0001-57 - NUMERO: 30488417 - SERIE: 501 - TIPO DOCUMENTO: Principal
1307 11:13:20,548 [Thread-39] WARN  Impressora - MediaTray invalida, utilizando a padrao: PADRÃO
1307 11:13:20,549 [Thread-39] DEBUG Impressora - EPSON TM-T20 Receipt - impressao em retrato m: IMPRESSAO OOBJ - EMITENTE: 85.813.757/0001-57 - NUMERO: 30488417 - SERIE: 501 - TIPO DOCUMENTO: Principal
1307 11:13:20,549 [Thread-39] INFO  Impressora - Imprimindo usando implementacao do JasperReports...
1307 11:14:43,504 [Thread-39] DEBUG Impressora - EPSON TM-T20 Receipt - impressao concluida ou enviada para o spool
1307 11:14:43,505 [Thread-39] DEBUG ServicoImpressao - Tempo de envio para impressora (em milissegundos): 82957
1307 11:14:43,505 [Thread-39] DEBUG ServicoImpressao - Imprimindo - fim: IMPRESSAO OOBJ - EMITENTE: 85.813.757/0001-57 - NUMERO: 30488417 - SERIE: 501 - TIPO DOCUMENTO: Principal

 

Referência

0 (0)
Avaliação do Artigo (Nenhum voto)
Avaliar esse artigo
Anexos
Não há anexos para este artigo.
Artigos Relacionados RSS Feed
Comentários
Nome
Email
Código de Segurança Security Code
Não há comentários para este artigo. Seja o primeiro a postar um comentário.