Stella Boleto - Gerando vários boletos em um só .pdf

1 resposta
A

Adaptei o código, acrescentando um for, porém dá null pointer exception no boletos[i] = boleto; alguém pode ajudar?

package br.com.eeiav.controleescolar; import br.com.caelum.stella.boleto.Banco; import br.com.caelum.stella.boleto.Boleto; import br.com.caelum.stella.boleto.Datas; import br.com.caelum.stella.boleto.Emissor; import br.com.caelum.stella.boleto.Sacado; import br.com.caelum.stella.boleto.bancos.BancoDoBrasil; import br.com.caelum.stella.boleto.bancos.Itau; import br.com.caelum.stella.boleto.transformer.BoletoGenerator; public class Teste { static Boleto [] boletos = new Boleto[3]; public static void main(String[] args) { for (int i = 0; i < 3; i++) { Datas datas = Datas.newDatas().withDocumento(1, 5, 2008) .withProcessamento(1, 5, 2008).withVencimento(2, 5, 2008); Emissor emissor = Emissor.newEmissor() .withCedente("Fulano de Tal") .withAgencia(1824).withDvAgencia('4') .withContaCorrente(76000) .withNumConvenio(1207113) .withDvContaCorrente('5') .withCarteira(18) .withNossoNumero(9000206); Sacado sacado = Sacado.newSacado() .withNome("Fulano da Silva") .withCpf("[CPF removido]") .withEndereco("Av dos testes, 111 apto 333") .withBairro("Bairro Teste") .withCep("01234-111") .withCidade("São Paulo") .withUf("SP"); Banco banco = new Itau(); 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", "Aluno xxxx") .withLocaisDePagamento("local 1", "local 2") .withNoDocumento("4343"); boletos[i] = boleto; } BoletoGenerator gerador = new BoletoGenerator(boletos); // Para gerar um boleto em PDF gerador.toPDF("c:/Itau.pdf"); // Para gerar um boleto em PNG gerador.toPNG("c:/Itau.png"); // Para gerar um array de bytes a partir de um PDF @SuppressWarnings("unused") byte[] bPDF = gerador.toPDF(); // Para gerar um array de bytes a partir de um PNG // @SuppressWarnings("unused") // byte[] bPNG = gerador.toPNG(); } }

1 Resposta

gilmatryx

Dá uma olhada nessa thread:

Caelum Stella - boleto gerando 'Java Heap Space'
http://www.guj.com.br/java/217891-caelum-stella---boleto-gerando-java-heap-space

Talvez ajude.

Para a geração de boletos recomendo o Bopepo do projeto JRimum:

Exemplo na geração de vários boletos:

http://www.jrimum.org/bopepo/wiki/Componente/Documentacao/Tutoriais/VariosBoletosEmUmArquivo

[img]http://jrimum.org/jrimum/chrome/site/img/JRiLegoBopepoLeft_Small.png[/img]

Além de gerar um boleto padrão sem esforço algum...

Se vc quiser personalizar o boleto, ele permite personalização através de templates PDFs.
Você pode usar o OpenOffice para desenhar o boleto e depois exportar para pdf. É simples.

Ver tutoriais.

Se vc quer gerar vários boletos em um único PDF vc pode fazer da seguinte forma:
BoletoViewer.groupInOnePDF("TesteVariosEmUmUnicoArquivo.pdf", boletos);
Ou se vc quer em arquivos separados:
List&lt;File&gt; files = BoletoViewer.onePerPDF("./", ".pdf", boletos);
Se precisar de ajuda e dúvidas no grupo o pessoal te ajuda. Eles são especialistas em boletos e arquivos bancários.

Atualmente o Bopepo tem um total de 18 bancos suportados:

http://www.jrimum.org/bopepo/wiki/Componente/BancosSuportados

Mais informações sobre o Projeto Bopepo ...

T+, qualquer dúvida é só chegar lá no grupo.

Criado 27 de abril de 2011
Ultima resposta 27 de abr. de 2011
Respostas 1
Participantes 2