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

标签 java pdf itext

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 的大小。请让我知道实现相同目标的步骤。

最佳答案

使用 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();

关于java - 如何在 Java 中以编程方式减小 PDF 文件的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14354712/

相关文章:

java - 将 xml 插入 pdf

java - 使用 iText 如何更改新行之间的距离?

java - 如何在 jackson 序列化过程中跳过Optional.empty字段?

javax.jdo.JDOFatalUserException : Illegal argument

java - PaginationSample Javafx 无法为最终变量分页赋值

php - 我只能下载表头,不能下载FPDF中MYSQL数据库的数据

javascript - 将 React 组件转换为 pdf 没有成功(html2canvas 和 dom-to-image)

java - 如何打印数据库返回的对象中的数据作为对象列表?

xml - xsl 应用模板的问题

c# - iTextSharp HTML 到 PDF - 处理图像