Sto provando a creare un PDF dal contenuto HTML.Come creare un file PDF da HTML usando PDFBox?
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);
}
Quando prendo questo byte[]
e salvare in un file, il file è vuoto. Sto usando PDStream
per incorporare il flusso di input nel documento
Dal http://pdfbox.apache.org/apidocs/
public PDStream(PDDocument doc,
InputStream str)
throws IOException
leggere tutti i dati dal flusso di input e lo incorpora nel documento, questo chiude l'InputStream
.
Sto cercando un'alternativa a iText, le sue regole di licenza non funzionano bene con i progetti closed source – Hoffmann
@Hoffman La soluzione pdf di apache nel link sopra non ha funzionato per te? – vsingh
l'apache pdfbox non supporta la conversione da HTML a PDF. Recentemente c'è stata una discussione su slashdot sulle librerie di java pdf, ho scoperto su Flying Saucer che usa iText v2 che è LGPL, non l'ho ancora testato, ma lascerò la discussione qui per riferimento futuro: http: // ask .slashdot.org/comments.pl? sid = 5505091 & cid = 47625223 – Hoffmann