如何在 Java 中以编程方式减小 PDF 文件的大小?

新手上路,请多包涵
Document document = new Document(reader.getPageSizeWithRotation(1));
PdfCopy writer = new PdfCopy(document, new FileOutputStream(outFile));
document.open();
PdfImportedPage page = writer.getImportedPage(reader, ++i);
writer.setFullCompression();
writer.addPage(page);
document.close();
writer.close();

我正在使用 iText 拆分和合并 PDF,我需要您的帮助以编程方式减小(压缩)输出 PDF 的大小。请让我知道实现相同目标的步骤。

原文由 jcrshankar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 632
2 个回答

使用 writer.setFullCompression() 你已经尽可能地压缩了文件。使用 iText,您无能为力。

原文由 partlov 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 iText

 PdfReader reader = new PdfReader(new FileInputStream("input.pdf"));
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("output.pdf"));
int total = reader.getNumberOfPages() + 1;
for ( int i=1; i<total; i++) {
   reader.setPageContent(i + 1, reader.getPageContent(i + 1));
}
stamper.setFullCompression();
stamper.close();

原文由 Mauro Braggio 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题