J'essaie de créer un PDF à partir du contenu HTML.
public byte[] generatePdf(final XhtmlPDFGenerationRequest request) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PDDocument document = new PDDocument();
InputStream stream = new ByteArrayInputStream(request.getContent()
.getBytes());
PDStream pdstream = new PDStream(document, stream);
document.save(baos);
document.close();
return this.toByteArray(baos);
}
Quand je prends cette byte[]
et enregistrer dans un fichier, le fichier est vide. J'utilise PDStream
pour incorporer le flux d'entrée dans le document
Depuis http://pdfbox.Apache.org/apidocs/
public PDStream(PDDocument doc,
InputStream str)
throws IOException
Lit toutes les données du flux d'entrée et les incorpore dans le document, cela fermera le InputStream
.
Je cherchais un HTML pour PDF renderer. Nous utilisions iText. Je cherchais à faire de même avec Apache PDFBox. Mais, il semble que cela ne puisse pas être fait.
Je peux utiliser Apache FOP ou continuer à utiliser iText.
Voici la solution iText si quelqu'un est intéressé: Java Render XML Document as PDF
Si vous cherchez une solution pour la fusion en utilisant PDF, la voici Fusionner des fichiers pdf en utilisant la boîte pdf Apache