Не хотите сохранять созданный файл PDF на стороне сервера при использовании PDFBox - PullRequest
0 голосов
/ 14 ноября 2018

Я использую 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 голосов
/ 14 ноября 2018

Вы можете использовать перегруженный метод PDDocument.save с outputtream. Это приведет к чему-то похожему на это:

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

Это позволит вам получить PDF-файл напрямую и использовать его.

...