簡體   English   中英

Apache PDFBox - Adobe Acrobat 提示保存

[英]Apache PDFBox - Adobe Acrobat prompts saving

我正在使用 Apache PDFBox 2.0.16 版向現有的 PDF 文件添加分頁。 我的方法效果很好,生成的 PDF 很好。 但是,當我使用 Adobe Acrobat Reader 打開文件時,如果我嘗試關閉文件,它會提示我是否要保存文件,即使我沒有編輯任何內容,並且文件最初不可編輯. 我無法理解發生了什么,以及如何防止它提示保存

我的代碼如下:

private void paging(ByteArrayOutputStream os) throws IOException {
    PDDocument doc = PDDocument.load(new ByteArrayInputStream(os.toByteArray()));
    PDFont font = getFont(doc);
    PDPageTree pages = doc.getDocumentCatalog().getPages();
    for (int i = 0; i < pages.getCount(); i++) {
        PDPage page = pages.get(i);
        PDPageContentStream contentStream = new PDPageContentStream(doc, page, PDPageContentStream.AppendMode.APPEND, true, false);
        contentStream.beginText();
        contentStream.setFont(font, FONT_SIZE);
        contentStream.setNonStrokingColor(Color.BLACK);
        contentStream.newLineAtOffset(page.getCropBox().getWidth() - 40,  15);
        contentStream.showText((i + 1) + " / " + pages.getCount());
        contentStream.endText();
        contentStream.close();
    }

    doc.save(os);
    doc.close();
}

在保存之前重置“os”,以便您的ByteArrayOutputStream被清除並定位在開頭。

os.reset();

也可以直接使用字節數組調用 load():

PDDocument.load(os.toByteArray());

並更新到當前版本,此時為 2.0.19。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM