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