我在项目中使用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();
答案 0 :(得分:1)
您可以在输出流中使用重载的方法PDDocument.save。这将导致类似于以下内容:
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
document.save(outStream);
byte[] pdfData = outStream.toByteArray();
这将使您可以直接获取PDF并使用它。