建立 PDF 壓縮器—在線壓縮 PDF 文件

在這篇文章中,您將學習如何開發自己的 PDF 壓縮工具,以程式化的方式減少 PDF 文件大小,使用 C#、Java 和 Python,並完全控制質量、大小和性能。您還可以嘗試使用相同 API 構建的工作示範,免費在線壓縮 PDF 文件。

壓縮 PDF 文件在各種情況下都是必要的。無論您是為電子郵件優化文件大小,改善加載時間,還是節省存儲空間,高效的 PDF 壓縮都能帶來很大差異。

在線壓縮 PDF 文件

試試這個即時的 PDF compressor 工具,免費在線壓縮 PDF 文件:

Image

您只需上傳您的 PDF 文件。它能夠在幾秒鐘內減少文件大小,並提供一個較小的優化版本,隨時可以下載。

這個免費的線上 PDF 壓縮工具是由 Aspose.PDF 函式庫在後台提供支持。它使用了您在本指南中將要使用的相同 API。因此,您在這裡看到的正是您可以以程式方式構建的內容。

如何在線壓縮PDF文件

  1. 造訪 Aspose PDF Compressor 網站。
  2. 上傳您的 PDF 文件,請點擊「上傳」按鈕。
  3. 整理文件,如果您有多個 PDF 檔案。
  4. 點擊「壓縮」按鈕以開始過程。
  5. 下載壓縮的 PDF 文件,直到過程完成。

PDF 壓縮運作原理及 Aspose.PDF 如何實現它

PDF 文件可能包含高解析度圖像、嵌入字體、額外物件以及可以增加檔案大小的元資料。壓縮在不犧牲視覺質量或內容準確性的情況下減小大小。我們將使用 Aspose.PDF 來優化 PDF 文檔。它是一個強大的庫,用於在 C#、Java 和 Python 中創建、編輯和處理 PDF 文檔。它允許開發人員處理文本、圖像、表單、註釋以及數字簽名、轉換和壓縮等更複雜的任務,而無需 Adobe Acrobat。

Aspose.PDF 使用其靈活的 OptimizationOptions 類別處理壓縮,並結合 ImageCompressionOptions 進行針對影像的特定調整引擎。

  1. 圖像壓縮

文件中的圖片是增大文件大小的主要原因之一。Aspose.PDF 允許您使用以下 ImageCompressionOptions 類的屬性來壓縮和調整它們的大小:

  • CompressImages = true
  • ImageQuality = 70 (0–100)
  • ResizeImages = true
  • MaxResolution = 150
  1. 物件和串流清理

冗餘元素和未使用的數據流被移除以簡化檔案。在 Aspose.PDF 中,OptimizationOptions 類提供以下優化設置:

  • CompressObjects = true
  • RemoveUnusedObjects = true
  • RemoveUnusedStreams = true
  1. 重複串流連結

PDF 文件可能包含重複的串流(例如,重複的字型或圖像)。Aspose.PDF 可以內部鏈接它們以節省空間,同時不影響內容,使用以下設置:

  • LinkDuplicateStreams = true
  1. 字型優化

有可能在PDF文件中嵌入完整的字型集,即使只使用了幾個字元。Aspose.PDF 允許您使用以下選項刪除未使用的字型:

  • UnembedFonts = true
  • SubsetFonts = true
  1. 元數據和私人信息移除

剝除隱藏的元數據和私人信息,以減少檔案大小並保護隱私。

  • RemovePrivateInfo = true

Aspose.PDF 讓您全面控制壓縮,讓您能夠建立快速、高效且準備投入生產的工具。

如何使用 C# 建立 PDF 壓縮器

要在 C# 中構建 PDF 壓縮器,您將使用 Aspose.Pdf.Optimization 命名空間以及 OptimizationOptions 類。以下示例顯示了如何通過壓縮圖像、清理結構和刪除不必要的數據來減小 PDF 文件大小。

步驟 1:安裝 Aspose.PDF for .NET

透過 NuGet 安裝包:

Install-Package Aspose.PDF

步驟 2:載入並優化 PDF

使用以下代碼來加載 PDF,應用多層壓縮,並保存優化後的版本。

using Aspose.Pdf;
using Aspose.Pdf.Optimization;

var document = new Document("MultiplePages.pdf");

// 設定最佳化選項
var options = new OptimizationOptions
{
    CompressObjects = true,
    RemoveUnusedObjects = true,
    RemoveUnusedStreams = true,

    MaxResoultion = 150,
    LinkDuplicateStreams = true,

    RemovePrivateInfo = true,
    UnembedFonts = true,
    SubsetFonts = true
};

// 配置圖像壓縮
options.ImageCompressionOptions.CompressImages = true;
options.ImageCompressionOptions.ImageQuality = 50;
options.ImageCompressionOptions.ResizeImages = true;
options.ImageCompressionOptions.MaxResolution = 100;

// 應用優化
document.OptimizeResources(options);

// Save compressed output
document.Save("compressed.pdf");

這段代碼通過以下方式壓縮 PDF:

  • 調整大小和優化圖片
  • 移除未使用的物件和串流
  • 清理元資料
  • 子集化和去嵌入字型
  • 連接重複的串流

您可以調整像 ImageQuality 和 MaxResolution 這樣的值,以平衡大小和視覺質量。

如何使用 Java 建立 PDF 壓縮工具

Aspose.PDF for Java 允許您使用與 .NET 相似的優化選項來壓縮 PDF 文件。您可以通過優化圖像、移除未使用的對象和清理元數據來減小文件大小。

步驟 1:將 Aspose.PDF for Java 添加到您的專案

如果您正在使用 Maven,請添加此依賴項:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>23.4</version> <!-- Use the latest version -->
    <classifier>jdk17</classifier> <!-- or jdk16, jdk18, etc. -->
</dependency>

或從 releases 下載 JAR。

步驟 2:在 Java 中壓縮 PDF 文件

import com.aspose.pdf.Document;
import com.aspose.pdf.OptimizationOptions;
import com.aspose.pdf.ImageCompressionOptions;

public class PdfCompressor {
    public static void main(String[] args) {
        // Load PDF
        Document pdf = new Document("MultiplePages.pdf");

        // 設定最佳化選項
        OptimizationOptions options = new OptimizationOptions();
        options.setCompressObjects(true);
        options.setRemoveUnusedObjects(true);
        options.setRemoveUnusedStreams(true);
        options.setMaxResoultion(150);
        options.setLinkDuplicateStreams(true);
        options.setRemovePrivateInfo(true);
        options.setUnembedFonts(true);
        options.setSubsetFonts(true);

        // 設置影像壓縮選項
        ImageCompressionOptions imageOptions = new ImageCompressionOptions();
        imageOptions.setCompressImages(true);
        imageOptions.setImageQuality(50);
        imageOptions.setResizeImages(true);
        imageOptions.setMaxResolution(100);
        options.setImageCompressionOptions(imageOptions);

        // 優化並保存
        pdf.optimizeResources(options);
        pdf.save("compressed.pdf");
    }
}

如何在 Python 中壓縮 PDF 檔案

Aspose.PDF for Python via .NET 提供您訪問與 C# 和 Java 相同的強大優化功能。您可以通過控制圖像質量、刪除未使用的數據和清理內部結構來壓縮 PDF 文件。

步驟 1:安裝 Aspose.PDF for Python

首先,使用 pip 安裝該套件:

pip install aspose-pdf

確保您已安裝 .NET 6.0+,因為該套件在底層使用 .NET。

步驟 2:在 Python 中壓縮 PDF 文件

import aspose.pdf as ap

# 載入 PDF 文件
document = ap.Document("MultiplePages.pdf")

# 設定最佳化選項
options = ap.OptimizationOptions()
options.compress_objects = True
options.remove_unused_objects = True
options.remove_unused_streams = True
options.max_resoultion = 150
options.link_duplicate_streams = True
options.remove_private_info = True
options.unembed_fonts = True
options.subset_fonts = True

# 設定影像壓縮選項
image_options = options.image_compression_options
image_options.compress_images = True
image_options.image_quality = 50
image_options.resize_images = True
image_options.max_resolution = 100

# 應用優化並保存
document.optimize_resources(options)
document.save("compressed.pdf")

這個腳本通過優化圖像、字體和結構來壓縮 PDF,這使得它非常適合自動化任務、雲端工作流程或按需處理。

像其他語言一樣,您可以調整參數以更好地控制輸出大小和質量。

獲取免費許可證

您是一位有興趣在不受限制的情況下測試 Aspose 產品的開發者嗎?

您可以獲取一個 免費的臨時許可證 以評估 Aspose.PDF 和其他 Aspose API 的全部功能。 它快速、簡單,並讓您能夠訪問所有高級功能——非常適合原型設計、測試或整合到您的開發工作流程中。

減小 PDF 大小:免費資源

想要進一步了解嗎?這裡有一些免費資源可以幫助您擴展對 PDF 壓縮的知識並充分利用 Aspose.PDF。

結論

總結來說,PDF 壓縮器讓你能夠在線壓縮 PDF 文件。壓縮 PDF 文件對於構建高效、高性能的應用程序非常重要。使用 Aspose.PDF,你可以全面控制優化。無論你是使用 C#、Java,還是 Python。

在本指南中,您探索了:

  • 一個在線的 PDF 壓縮器作為工作示範
  • 如何使用 Aspose API 建立自己的 PDF 壓縮工具
  • 平台特定的代碼範例,讓您快速入門

如果您有任何問題或需要進一步的協助,請隨時通過我們的 free support forum 與我們聯繫。

See Also