PDF 压缩:代码示例

使用高速、强大、安全的 API 以各种编程语言压缩 PDF 文档

如何使用 Aspose.PDF 库压缩 PDF 文件

Aspose.PDF 支持PDF 的压缩。 减少大部分 PDF 文件大小的方法是减少 PDF 文档中嵌入图像的大小。 此外,我们可以将文档线性化,以便尽快打开第一页:

调用此方法实际上并不保存文档。 反之,文档只准备有一个优化的结构,然后调用Save 得到一个优化的文档。

缩小 PDF 文件大小的步骤


您需要 Aspose.PDF 库 在您的环境中试用代码。

  1. 使用 Document 对象打开 PDF 文档。 1.调用Document对象的优化方法,去除PDF文件中不需要的对象,压缩图片
  2. 使用Save() 方法将优化后的文档保存到新路径。

C# 示例:压缩 PDF 文档

使用 C# 减小 PDF 文档的大小

Document pdfDocument = new Document(dataDir + "input.pdf");
pdfDocument.OptimizeResources();
pdfDocument.Save(dataDir + "output.pdf");

如何使用 Aspose.PDF for Java 为 Web 优化 PDF 文档

线性化是使 PDF 文件适合使用网络浏览器在线浏览的过程。 线性化 PDF 文件的结构允许 PDF 文件的第一页在从 Web 服务器下载整个文件之前显示在用户的 Web 浏览器中。 这使得 Web 查看速度更快,用户无需等待整个 PDF 加载完毕即可开始查看文档。 使用方法“Optimize”我们可以:

  • 尽快打开第一页;
  • 尽快显示下一页或通过链接进入下一页
  • 当页面数据通过慢速通道传送时,在页面到达时逐渐显示页面(首先显示最有用的数据);
  • 允许甚至在接收和显示整个页面之前执行用户交互,例如点击链接。

通过 Java 减小 PDF 文件大小的步骤

  1. 使用 Document 对象打开 PDF 文档。 1.调用文档对象的Optimize方法,去除不需要的对象,压缩PDF文件中的图片
  2. 使用Save() 方法将优化后的文档保存到新路径。

Java 示例:为 Web 压缩 PDF 文档

使用 Java 减小 PDF 文档的大小

Document pdfDocument = new Document(dataDir + "input.pdf");
// Optimize for web
pdfDocument.optimize();
pdfDocument.save(dataDir + "output.pdf");

如何使用 Aspose.PDF for C++ 删除或展平注释

向 PDF 文档添加注释自然会增加其大小。 如果不需要,可以删除注释。 如有必要,可以将它们展平,但不需要进一步修改。 这两种方法都会减小文件大小。 使用方法 Flatten 我们可以:

  • 尽快打开文档;
  • 将页面显示为单个实体

通过 C++ 减小 PDF 文件大小的步骤

  1. 创建一个名为 document 的文档对象,使用 MakeObject 函数打开输入的 PDF 文件。
  2. 使用 for-each 循环和名为 page 的基于范围的迭代器循环遍历文档对象中的每个页面对象。
  3. 使用 for-each 循环和名为 annotation 的基于范围的迭代器循环遍历页面对象中的每个注释对象。
  4. 对注释对象调用 Flatten 方法,将其与页面内容合并并移除任何交互性。
  5. 调用文档对象的 Save 方法来保存更新后的 PDF 文件。

C++ 示例:拼合 PDF 文档

使用 C++ 删除不必要的注释以减小 PDF 文档的大小

// String for path name
String _dataDir("C:\\Samples\\");

// String for input file name
String infilename("OptimizeDocument.pdf");
// String for output file name
String outfilename("OptimizeDocument_out.pdf");

// Open document
auto document = MakeObject<Document>(_dataDir + infilename);

// Flatten annotations
for(auto page : document->get_Pages())
{
    for(auto annotation : page->get_Annotations())
    {
    annotation->Flatten();
    }
}
// Save updated document
document->Save(_dataDir + outfilename);

关于 Aspose.PDF API

一个 PDF 处理库,用于创建跨平台应用程序,无需使用 Adobe Acrobat 即可生成、修改、转换、渲染、保护和打印文档。它支持将各种文件格式转换为包括HTML在内的PDF,并将PDF文档转换为各种输出格式。开发人员可以轻松地在单页 PDF 中呈现所有 HTML 内容,并将带有 SVG 图形标签的 HTML 文件转换为带标签的 PDF 文件。.NET PDF API 提供压缩、表格创建、图形和图像功能、超链接、图章和水印任务、扩展安全控件和自定义字体处理。