Caros,
usando o TinyMCE, estou gravando no banco um texto formatado (HTML).
Na geração (no braço) de um relatório, usando o iText, em dado momento recupero o conteúdo do banco e transformo para PDF, com o resultado armazenado num objeto da classe ByteArrayOutputStream. Então, este resultado, preciso adicionar ao meu documento que está sendo gerado.
Já tentei basicamente dois jeitos (e algumas variantes).
No primeiro, abaixo, o conteúdo do PDF convertido não aparece no documento final:
...
ByteArrayOutputStream baosResumo = new ByteArrayOutputStream();
HTML2PDF.convert(resumo, baosResumo);
PdfReader reader = new PdfReader(baosResumo.toByteArray());
PdfCopyFields copy = new PdfCopyFields(baos);
copy.addDocument(reader);
reader.close();
...
No segundo, é gerado um erro durante a execução, ao tentar recuperar uma página com o método getImportedPage
...
ByteArrayOutputStream baosResumo = new ByteArrayOutputStream();
HTML2PDF.convert(resumo, baosResumo);
PdfReader reader = new PdfReader(baosResumo.toByteArray());
PdfCopy copy = new PdfCopy(doc, baos);
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
copy.addPage(copy.getImportedPage(reader, i));
}
reader.close();
...
Os objetos doc e baos acima foram criadas no início do processo de geração do relatório:
...
protected Document doc = new Document(PageSize.A4, 22, 22, 21, 19);
protected ByteArrayOutputStream baos = new ByteArrayOutputStream();
...
pdfWriter = PdfWriter.getInstance(doc,baos);
...
O conteúdo HTML está sendo gerado perfeitamente, pois nos testes, e também foi uma das tentativas, fiz a gravação do resultado da conversão num arquivo físico.
...
File file = File.createTempFile("tmp", ".pdf");
HTML2PDF.convert(resumo, new FileOutputStream(file));
PdfReader reader = new PdfReader(new FileInputStream(file));
...
Assim, pergunto, onde estou errando, ou simplesmente, como resolvo este meu caso ???