PDFBox - 从String创建java.io.InputStream

时间:2015-01-14 09:29:00

标签: java inputstream pdfbox

我正在整合我的RESTful服务以支持文档下载等。为此我正在探索PDFBox库,它能够使用PDF文档(太棒了),如果我必须创建和保存文档,它可以正常工作。

我的示例代码如下所示;

    PDDocument doc = null;
PDPage page = null;
try{
    doc = new PDDocument();
    page = new PDPage();
    doc.addPage(page);
    PDFont font = PDType1Font.HELVETICA;
    PDPageContentStream content = new PDPageContentStream(doc,page);
    content.beginText();
    content.drawString("Some Content Received At Runtime");
    content.endText();
    content.close();
    doc.save("SomeName.pdf");
    doc.close();

    // Now load and return the stream
    return PDDocument.load("SomeName.pdf").getDocument().createCOSStream().getFilteredStream();
} catch (Exception e) {
    // Do nothing for now
}

如果您在上面的例子中看到我有一个选项可以将文档转换为InputStream但是要实现这一点我首先必须保存文档然后重新加载!这是不可取的,因为这会使服务器混乱我正在使用垃圾。

我真正想要的是在不保存文档的情况下实现这一目标!可能吗?我应该看看像iText这样的其他库吗?如果您知道相同的示例请分享。

0 个答案:

没有答案