我正在整合我的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这样的其他库吗?如果您知道相同的示例请分享。