PDF 压缩:代码示例

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

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

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

调用此方法实际上并不能保存文档。相反,文档只准备好具有优化的结构,然后调用 Save 以获得优化的文档。

減小 PDF 檔大小的步驟


你需要 Aspose.PDF 库 才能在你的环境中尝试代码。

1。使用文档对象打开 PDF 文档。 1。调用文档对象的优化方法,该方法删除不必要的对象并压缩 PDF 文件中的图像 1。使用 Save () 方法将优化的文档保存到新路径。

系統要求


所有主要操作系统都支持 Aspose.PDF。只要确保你具备以下先决条件即可。

  • 微软 Windows 或通过 COM Interop 连接.NET 或 PHP、VbScript、Delphi 或 C++ 的兼容操作系统。
  • 像微软视觉工作室这样的开发环境。
  • 你的项目中引用的.NET DLL 的 Aspose.PDF。

C# 示例:压缩 PDF 文档

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

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

如何使用适用于 Java 的 Aspose.PDF 优化 Web 版 PDF 文档

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

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

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

1。使用文档对象打开 PDF 文档。 1。在文档对象上调用 Optimize 方法,该方法会删除不必要的对象并压缩 PDF 文件中的图像 1。使用 Save () 方法将优化的文档保存到新路径。

Java 示例:压缩网页版 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。创建名为文档的文档对象,使用 makeObject 函数打开输入 PDF 文件。 1。使用 for-each 循环和名为 page 的基于范围的迭代器循环访问文档对象中的每个页面对象。 1。使用 for-each 循环和名为 annotation 的基于范围的迭代器循环遍历页面对象中的每个注释对象。 1。在注释对象上调用 Flatten 方法将其与页面内容合并并删除任何交互性。 1。在文档对象上调用 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);

關於我們.PDF

一個 PDF 處理庫,用於創建跨平臺應用程式,無需使用 Adobe Acrobat 即可生成、修改、轉換、呈現、保護和列印文檔。它支援將各種檔案格式轉換為PDF,包括HTML並將PDF文檔轉換為各種輸出格式。開發人員可以輕鬆地在單個頁面 PDF 中呈現所有 HTML 內容,並將帶有 SVG 圖形標籤的 HTML 檔轉換為標記的 PDF 檔。.NET PDF API 提供壓縮、表格創建、圖形和圖像功能、超連結、圖章和浮浮水印任務、擴展安全控制件和自定義字體處理。