Soluçao para paginaçao

18 views
Skip to first unread message

Hermes Hostin

unread,
Oct 16, 2009, 2:20:34 PM10/16/09
to JRimum Community
Boa tarde pessoal,

Gostaria de algumas ideias/sugestões para um necessidade que tenho na
geração de boletos:

Preciso gerar varios boletos em um arquivo, porem com layouts
diferentes.
Esta necessidade se dá pelo fato de ter que fazer paginaçao de faturas
com varias páginas.

Meus boletos personalizados apresentam um extrato de eventos de
desconto para o sacado, que é parecido com um extrato bancário. Este
extrato fica no topo do layout, e se o numero de eventos superar o
numero de linhas do layout, deve ser feito uma nova página um pouco
diferente do layout principal do boleto.

Se fosse para gerar um boleto por arquivo seria tranquilo, porem como
eu tenho que adicionar varios boletos em arquivo, fico limitado a um
layout apenas.

Alguem tem alguma idéia?


Grato!!!

Gilmar P.S.L.

unread,
Oct 16, 2009, 2:56:36 PM10/16/09
to jrimum-c...@googlegroups.com
Opa grande Hermes!

Cara, ficamos gratos mais uma vez por sua participação..

Seguinte, se eu entendi bem o problema acho que no momento o JRimum oferece as ferramentas para vc.

Vamo lá...

Imaginando que vc tenha uma lista de BoletoExtrato (boletos Bopepo e dados do extrato do sacado )...

Vc pode inicialmente identificar quais são os BoletoExtrato que exederiam 1 página (pelo número de linha de dados)
E em seguida dividir em duas listas:

 1- Com boletos de uma pagina
 2- Com boletos com mais de uma pagina

** Se possuir mais de um critério pode considerar 3, 4, 5 etc..., é  o mesmo exemplo.

A partir dessas listas vc geraria dois arquivos com vários boletos através do método "groupInOnePDF"

Até aí não resolve, certo?! Mas vc terá dois arquivos que poderão ser transformados em um.

Na classe Util4PDF ou PDFUtil (dependendo da versão), vc encontrará o método:

 mergeFiles(List<byte[]> pdfFiles)

Que junta os pdfs em um só pdf.

Então, a partir das duas listas vc poderia fazer uma coisa assim:

Com a ajuda de mais uma classe utilitária do pacote utilix (FileUtil ou Util4File) e para exemplo:

BoletoViewer.groupInOnePDF("BoletoExtratoDeUmaPagina.pdf", boletos,new File("TemplateDeUmaPagina.pdf"));
BoletoViewer.groupInOnePDF("BoletoExtratoDeVariasPaginas.pdf", boletos,new File("TemplateDeVariasPaginas.pdf"));


byte[] boletosDeUmaPagina = FileUtil.bytesFromFile(new File("BoletoExtratoDeUmaPagina.pdf"));
byte[] boletosDeVariasPaginas = FileUtil.bytesFromFile(new File("BoletoExtratoDeVariasPaginas.pdf"));

ArrayList<byte[]> arquivos = new ArrayList<byte[]>();

arquivos.add(boletosDeUmaPagina);
arquivos.add(boletosDeVariasPaginas);

FileUtil.bytes2file("ArquivoComTodosOsBoletos.pdf",PDFUtil.mergeFiles(arquivos));


Espero que eu tenha entendido o seu problema, ...
Em qualquer caso, dúvida ou não, é só falar.

Atenciosamente.
-- 
Gilmar P.S.L.
JRimum Developer

Hermes Hostin

unread,
Oct 16, 2009, 4:22:06 PM10/16/09
to JRimum Community
Beleza Gilmar!!!!
Primeiramente obrigado pelo suporte rapido que vcs proporcionam,

Show de bola a soluçao, vou fazer testes. Muito Obrigado Gilmar!!!!!
> FileUtil.bytes2file("ArquivoComTodosOsBoletos.pdf",PDFUtil.mergeFiles(arqui­vos));
>
> Espero que eu tenha entendido o seu problema, ...
> Em qualquer caso, dúvida ou não, é só falar.
>
> Atenciosamente.
> --
> Gilmar P.S.L.
> *JR*imum *D*eveloper

Rômulo Augusto

unread,
Oct 18, 2009, 5:54:01 PM10/18/09
to jrimum-c...@googlegroups.com
Fala grande Hermes!
Acho que essa é a primeira vez que falo contigo e já vou logo te pedindo uma coisa... claro, só se for possível pra vc!

Seguinte, como vc eh um cara que adotou o Bopepo como sua biblioteca favorita de boletos (hehe) e já contribuiu com a gente antes, estamos convidando vc a fazer um tutorial com o tema desta thread.

Achamos a questão bem interessante e que um tutorial sobre isso poderia ajudar muita gente que ta com seu mesmo problema!

Esperamos sua resposta!

Valeu


-------------------------------------------------------------------
Rômulo Augusto


2009/10/16 Hermes Hostin <hermes...@gmail.com>

Hermes Hostin

unread,
Oct 19, 2009, 6:10:52 AM10/19/09
to jrimum-c...@googlegroups.com
Beleza Romulo!!

Assim que eu terminar minhas implementações monto um tutorial com esta
thread e envio para o grupo!!

Um grande abraço!!!

2009/10/18 Rômulo Augusto <romul...@gmail.com>



--

HERMES HOSTIN
CEL -99349275
Reply all
Reply to author
Forward
0 new messages