如何使用PDFBox从HTML创建PDF文件?

2022-04-25 00:00:00 pdf java pdfbox

我正在尝试从HTML内容创建PDF。

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);

}

当我将此byte[]保存到一个文件时,该文件为空。我使用PDStream将输入流嵌入到文档中

来自http://pdfbox.apache.org/apidocs/

public PDStream(PDDocument doc,
                InputStream str)
         throws IOException

从输入流读取所有数据并将其嵌入到文档中,这将关闭InputStream

pdf

我正在寻找一个推荐答案到PDF的呈现器。我们用的是iText。我也想用ApachePDFBox做同样的事情。但是,看起来这是不可能的。

我可以使用Apache FOP或继续使用iText。

如果任何人感兴趣,以下是iText解决方案: Java Render XML Document as PDF

如果您正在寻找使用PDF Box进行合并的解决方案,这里就是 Merge pdf files using Apache pdf box

相关文章