且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在PDFBox中,为什么保存后文件大小会变得非常大?

更新时间:2023-02-19 22:24:03

我写了这个奇怪的代码,它适用于我( Apache PDFBox v.2.0.8 ):

I wrote this strange code and it works for me (Apache PDFBox v.2.0.8):

private void saveCompressedPDF(PDDocument srcDoc, OutputStream os) throws IOException {
    PDDocument outDoc = new PDDocument();
    outDoc.setDocumentInformation(srcDoc.getDocumentInformation());
    for (PDPage srcPage : srcDoc.getPages()) {
        new PDPageContentStream(outDoc, srcPage,
                PDPageContentStream.AppendMode.APPEND, true).close();
        outDoc.addPage(srcPage);
    }
    outDoc.save(os);
    outDoc.close();
}