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:
-
Abra o Executar do Windows através do comando: ” + R ” e digite services.msc
Procure pelo serviço Oobj DFe Client e então clique em Reiniciar.
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