Gerar boleto Stella-Caelum

4 respostas
D

Boa tarde pessoal....

Estou tentando utilizar o exemplo do gerador de boletos Stella-Caelum e fiz o seguinte código:

public void gerarBoleto(){
	
		Datas datas = Datas.newDatas().withDocumento(1,5,2008).withVencimento(2, 5, 2008);
		
		Emissor emissor = Emissor.newEmissor()
				.withCedente("Daian Henz")
				.withAgencia(1824).withDvAgencia('4')  
	            .withContaCorrente(76000)  
	            .withNumConvenio(1207113)  
	            .withDvContaCorrente('5')  
	            .withCarteira(18)  
	            .withNossoNumero(9000206);  
		
		Sacado sacado = Sacado.newSacado()  
	    .withNome("João Carlos")  
	    .withCpf("[CPF removido]")  
	    .withEndereco("Av dos testes, 111 apto 333")  
	    .withBairro("Bairro Teste")  
	    .withCep("01234-111")  
	    .withCidade("Cascavel")  
	    .withUf("PR");
		
		Banco banco = new BancoDoBrasil();  
		  
	    Boleto boleto = Boleto.newBoleto()  
	        .withBanco(banco)  
	        .withDatas(datas)  
	        .withDescricoes("descricao 1", "descricao 2", "descricao 3",  
	                    "descricao 4", "descricao 5")  
	        .withEmissor(emissor)  
	        .withSacado(sacado)  
	        .withValorBoleto("200.00")  
	        .withNoDocumento("1234")  
	        .withInstrucoes("instrucao 1", "instrucao 2",  
	                    "instrucao 3", "instrucao 4", "instrucao 5")  
	        .withLocaisDePagamento("local 1", "local 2")  
	        .withNoDocumento("4343");  

	    BoletoGenerator gerador = new BoletoGenerator(boleto);  
	             
	    byte[] bPDF = gerador.toPDF();
	    
             
	    
	}

Este código está dentro de uma action do struts2, então eu gostaria de saber como faço para mostrar esse pdf na tela???

Alguém pode concluir este código??? :)

Obrigado

4 Respostas

J

Olá,

Eu sei que este tópico é antigo, mas vamos lá!

Para mostrar o pdf, você poderia fazer o seguinte:

try {
    // passe o endereço completo do arquivo para o construtor de File
    java.awt.Desktop.getDesktop().open(new File("D:/boleto.pdf"));
} catch (IOException e) {
    System.err.println(e.getMessage());
}

Você conseguiu executar este exemplo sem erros? Eu testei aqui e dá o seguinte erro:

Exception in thread "main" java.lang.NoClassDefFoundError: com/lowagie/text/DocumentException
        at br.com.caelum.stella.boleto.transformer.BoletoGenerator.toPDF(BoletoGenerator.java:119)
        at br.com.caelum.stella.boleto.transformer.BoletoGenerator.toPDF(BoletoGenerator.java:51)
        at br.com.caelum.stella.boleto.transformer.BoletoGenerator.toPDF(BoletoGenerator.java:39)
        at javaapplication44.Main.main(Main.java:59)
Caused by: java.lang.ClassNotFoundException: com.lowagie.text.DocumentException
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        ... 4 more
Java Result: 1

Será que é alguma coisa que eu tenho que configurar? Eu estou usando a versão 2.0 beta 1.

Desde já agradeço pela ajuda.

A

Está me parecendo algo de lib. Quais os .jars que você está usando? Estão apontados no classpath?

J

Para mim também está parecendo problema de lib, mas os .jars estão incluídos no classpath. São eles:
caelum-stella-core-2.0-beta1.jar
caelum-stella-boleto-2.0-beta1.jar

Pode ser alguma coisa que eu não configurei. No site do projeto há instruções de configuração através do Maven (https://github.com/caelum/caelum-stella/wiki/Download), mas eu nunca mexi com essa ferramenta. Você pode me dizer como que eu uso essas instruções?

Desde já agradeço.

F

Bem Pessoal comigo aconteceu a mesma coisa, porem adicionando as bibliotecas do Jasper reports e do javax servelet funcionou tudo perfeitinho, para quem usa Linux e não tem a fonte Ariel instalada, é necessário instalar para que funcione.

as bibliotecas que eu coloquei foram.
net.sf.jasperreports e javax.servlet.

Criado 12 de novembro de 2009
Ultima resposta 14 de ago. de 2014
Respostas 4
Participantes 4