使用PDFBox时不想在服务器端保存创建的PDF文件

时间:2018-11-14 07:07:51

标签: java pdf pdfbox

我在项目中使用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();

1 个答案:

答案 0 :(得分:1)

您可以在输出流中使用重载的方法PDDocument.save。这将导致类似于以下内容:

ByteArrayOutputStream outStream = new ByteArrayOutputStream();
document.save(outStream);
byte[] pdfData = outStream.toByteArray();

这将使您可以直接获取PDF并使用它。