Erro ao Gerar o PDF do JBoleto: ele so abre quando eu finalizo o Glassfish

8 respostas
D
Bom dia, pessoal. Olha é o seguinte tenho uma aplicação em jsf que usuario seleciona os campos que serão impressos em no Boleto que são atribuidos a propiedades de um managedBean.Até ai tudo bem problema e quando eu vou abrir o pdf gerado o adobe mostra o seguinte erro:There was error opening this document. This file is already open or in use by another application, dizendo que outra aplicação está usando o pdf eu so consigo abrir o documento quando finalizo o glassfish. A classe que gera o boleto é a seguinte:
public void gerarBoleto(){
jBoletoBean.setDataDocumento(new Date().toString());
        jBoletoBean.setDataProcessamento(new Date().toString());
        
        jBoletoBean.setCedente("Atlntida");
        
       
       
        jBoletoBean.setCarteira("57");
        jBoletoBean.setLocalPagamento("ATE O VENCIMENTO, PREFERENCIALMENTE NA CAIXA ECONOMICA");
        jBoletoBean.setLocalPagamento2("APOS O VENCIMENTO, SOMENTE NA CAIXA ECONOMICA");
        
        Vector descricoes = new Vector();
        
        jBoletoBean.setDescricoes(descricoes);
        
        jBoletoBean.setInstrucao1("APOS O VENCIMENTO COBRAR MULTA DE 2%");
        jBoletoBean.setInstrucao2("APOS O VENCIMENTO COBRAR R$ 0,50 POR DIA DE ATRASO");
       
        
        jBoletoBean.setAgencia("0155");
        jBoletoBean.setContaCorrente("13877");
        jBoletoBean.setDvContaCorrente("4");
        
        jBoletoBean.setCarteira("80"); //pode ser 80 ou 81 ou 82 (Confirmar com gerente)
        jBoletoBean.setCodigoOperacao("870");
        jBoletoBean.setCodigoFornecidoAgencia("00000324");
        jBoletoBean.setDvCodigoFornecidoAgencia("02");
        
        jBoletoBean.setNossoNumero("19525086",8);
        jBoletoBean.setNoDocumento("987656123");
        
       
        jBoletoBean.setDataVencimento("02/10/2007");
        
        Generator generator = new PDFGenerator(jBoletoBean, JBoleto.BANCO_DO_BRASIL);
        JBoleto jBoleto = new JBoleto(generator, jBoletoBean, JBoleto.BANCO_DO_BRASIL);
        jBoleto.addBoleto();
        
        jBoleto.closeBoleto( "C:/caixa.pdf");
}

Os campos que estão faltando no estão vindo pagina JSF.
O metodo é igual ao exemplo do site.
Aproveito gostaria de saber tb como que eu faço para response.sendRedirect() abra este pdf em
outra janela do browser.
Desde já agradeço a atenção dispensada.

8 Respostas

D

???

D

Alguém me sugere alguma coisa.

D

???

D

???

D

???

D

s

victorwss

Como é que você faz para enviar o PDF para o cliente?

Ah, e não fique responendo o seu próprio tópico colocando mensagens repetidas. Isto é considerado falta de educação. Além disso, ao ver o número de mensagens = 10, muitos nem olham pensando que ela já foi respondida.

EDIT: hmmm, olhei as datas só agora. Amigo, realmente você teve azar em ninguém responder.

dtybel

Pessoal, estava passando por esse post em busca de outra coisa, mas vi que estava sem solução e resolvi postar.

//Liberar objetos da memoria
        System.gc();

        //Abre o arquivo em seguida
        File pdf = new File("boleto.pdf");
        try {
            Desktop.getDesktop().open(pdf);
        } catch(Exception ex) {
            ex.printStackTrace();
            JOptionPane.showMessageDialog(null, "Erro no Desktop: " + ex);
        }

Douglas Tybel


Analista de Sistemas
Engenharia de Sistemas
MCP + MCDST
([telefone removido]
“As maiores experiencias mudam voce” (doug)

Criado 25 de setembro de 2008
Ultima resposta 9 de ago. de 2010
Respostas 8
Participantes 3