我在我的项目中使用 PDFBox。我目前保存在将其发送给客户端之前创建的 PDF。相反,要求是将 ByteArrayStream 发送到客户端而不保存文件。如何用 PDFBox 做到这一点?
我知道 iText 可以做到这一点。但是我被限制在我当前的项目中使用 iText。
下面是使用的代码。
PDDocument document = new PDDocument();
PDPage page = new PDPage();
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.beginText();
contentStream.showText("PDF created");
contentStream.endText();
contentStream.close();
document.save(outputFilePath);// don't want to do this
document.close();
您可以将重载方法 PDDocument.save 与输出流一起使用。这将导致类似于此的结果:
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
document.save(outStream);
byte[] pdfData = outStream.toByteArray();
这将允许您直接获取 PDF 并使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句