圖片可能會使 PDF 變得沉重、雜亂或難以分享。有時候你只需要一個沒有照片、圖示或圖形的乾淨版本。在本指南中,你將學習如何使用 Java 從 PDF 檔案中移除圖片。你將看到如何刪除所有圖片、從選定的頁面上擦除圖片、僅移除特定的圖片,甚至過濾掉灰階圖片。讓我們開始吧!

使用 Aspose.PDF for Java 從 PDF 中移除圖片

Aspose.PDF for Java 是一個強大的庫,專為 PDF 編輯、創建和自動化而設計。開發人員使用它來處理圖像提取、文本編輯、註解、數位簽名等各種任務。

官方發佈頁面 下載 JAR 包,或通過 Maven 將 Aspose.PDF for Java 添加到您的項目中:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>25.10</version>
</dependency>

一旦添加,您就可以使用該庫來修改和刪除 PDF 中的圖像,包括有針對性地刪除照片、圖標、印章和內聯圖形。

如何使用 Java 從 PDF 文件中刪除所有圖像

您可能需要一個乾淨的純文字 PDF。Aspose.PDF 讓您輕鬆去除所有圖片。以下是您如何從整個文件中刪除所有圖片。

按照以下步驟刪除 PDF 文件中的所有圖像:

  1. 使用 Document 類別加載您的 PDF。
  2. Loop through all pages.
  3. 訪問每個頁面資源中的圖片集合。
  4. 清除或移除圖片。
  5. 保存更新的 PDF。

以下的 Java 代碼範例展示了如何從 PDF 文件中移除所有圖像。

import com.aspose.pdf.*;

public class RemoveAllImages {
    public static void main(String[] args) {
        // 載入 PDF 文件
        Document doc = new Document("DocumentWithImages.pdf");

        // 逐頁迭代
       for (Page page : doc.getPages()) {
            // 從頁面中移除所有圖片
            page.getResources().getImages().delete();
        }

        // Save the modified document
        doc.save("DocumentWithoutImages.pdf");
    }
}
使用 Java 刪除 PDF 中的所有圖像

使用 Java 從 PDF 中刪除所有圖片

這個範例系統性地使用 Aspose.PDF 函式庫從 PDF 文件中移除所有圖像。它使用 Document 類別加載源文件,遍歷每一頁,並對於每一頁,訪問其資源集合以刪除所有嵌入圖像。在處理完文檔中的每一頁後,它保存修改後的版本,生成一個新的 PDF,保留原始文本和佈局,但不包含任何視覺圖像內容。

使用 Java 從 PDF 的特定頁面移除圖片

有時候你不想從整個 PDF 中移除圖像。你可能想在大多數頁面上保留圖形,但只刪除特定頁面上的圖片。

請按照以下步驟刪除 PDF 文件特定頁面上的圖像:

  1. 載入 PDF。
  2. 識別您想要清理的頁碼。
  3. 僅從那些頁面刪除圖像。
  4. Save the result.

以下Java程式碼範例顯示如何從PDF文件的指定頁面刪除圖片。

import com.aspose.pdf.*;

public class RemoveSpecificPageImages {
    public static void main(String[] args) {
        // 載入 PDF 文件
        Document doc = new Document("DocumentWithImages.pdf");

        // 訪問特定頁面(例如,頁面 1)
        Page page = doc.getPages().get_Item(1);
        Resources resources = page.getResources();
        XImageCollection images = resources.getImages();
        images.delete();

        // 保存已修改的文件
        doc.save("RemoveSpecificPageImages.pdf");
    }
}

此範例顯示如何使用 Aspose.PDF for Java 從 PDF 文檔的特定頁面移除所有圖像。它簡單地將現有的 PDF 文件加載到 Document 對象中,針對文檔的第 1 頁,並訪問其圖像資源。一旦檢索到圖像集合,就調用了 delete() 方法以移除該頁面上找到的每個圖像。在清理頁面後,更新的 PDF 被保存到一個新文件中,為您提供一個版本,其中只有選定的頁面已經移除圖像。此方法保持其他頁面的圖像內容完整,而僅清理您選擇的頁面。

使用 Java 從 PDF 中移除特定圖像

如果您的文檔在單頁上有多個圖像,而您想要在不影響其他圖像的情況下從 PDF 中移除特定圖像,Aspose.PDF 讓您有精細的控制權。

按照以下步驟:

  1. 載入 PDF。
  2. 選擇包含圖像的頁面。
  3. Identify the image index.
  4. 刪除那張單一的圖片。
  5. 保存更新後的文件。

以下代碼示例顯示如何從 PDF 中移除單個圖像:

import com.aspose.pdf.*;

public class RemoveSpecificImage {
    public static void main(String[] args) {
        // 載入 PDF 文件
        Document doc = new Document("DocumentWithImages.pdf");

        // 訪問特定頁面(例如,頁面 1)
		    // 刪除特定的圖片
		    doc.getPages().get_Item(4).getResources().getImages().delete(1);

        // 保存修改過的文件
        doc.save("RemoveSpecificImages.pdf");
    }
}

這讓你只刪除不需要的圖像,例如標誌、標題或小照片,其餘部分保持不變。

如何使用 Java 從 PDF 中移除灰階圖像

一些 PDF 包含灰階照片,這會增加檔案大小或增加視覺雜亂。您可以通過檢查它們的色彩空間來編程過濾和移除灰階圖像。

遵循的步驟:

  1. 載入 PDF。
  2. 逐頁遍歷。
  3. 檢查每個圖像的色彩空間。
  4. 僅刪除灰度圖像。
  5. 保存最終的 PDF。

以下的 Java 範例顯示如何僅從 PDF 文件中移除灰階圖像。

import com.aspose.pdf.*;

public class RemoveGraysclaeImages {
    public static void main(String[] args) {
        // 加載 PDF 文件
        Document doc = new Document("DocumentWithImages.pdf");

        // 遍歷 PDF 文件的所有頁面
       for (Page page : (Iterable<Page>) doc.getPages()) {
          // 創建圖像放置吸收器實例
          ImagePlacementAbsorber abs = new ImagePlacementAbsorber();
          page.accept(abs);
         for (ImagePlacement ia : (Iterable<ImagePlacement>) abs.getImagePlacements()) {
            // ColorType
            ColorType colorType = ia.getImage().getColorType();
            if(colorType == ColorType.Grayscale)
            {
              ia.getImage().delete();
            }
          }
        }

        // 保存修改過的文件
        doc.save("RemoveGraysclaeImages.pdf");
    }
}

這段代碼範例選擇性地從 PDF 文件中刪除只有灰階圖像。它加載一個現有的 PDF,並遍歷每一頁,使用 ImagePlacementAbsorber 來檢測圖像位置並檢查它們的 ColorType 屬性。被確定為 ColorType.Grayscale 的圖像會從頁面資源中刪除,而 RGB 和其他顏色格式的圖像則故意保留。在過濾所有頁面後,修改過的文件會被另存為新文件,生成一個保留其原始佈局但刪除了灰階視覺內容的 PDF。

獲取免費許可證

Aspose.PDF 在試用模式下完全運作,但有一些限制,不過你可以申請一個 免費臨時許可證 來解鎖所有功能。訪問 Aspose 的網站並獲取一個免費臨時許可證。這讓你可以在沒有限制的情況下測試所有高級功能。

免費附加資源

除了從 PDF 文件中刪除圖像之外,這裡還有一些有助於加深您理解的有用鏈接。這些資源可以幫助您探索文本編輯、註釋、轉換、表單處理等更多內容。

結論

在這篇文章中,我們已經看到使用 Java 和 Aspose.PDF 庫從 PDF 中移除圖像是多麼簡單。您可以刪除所有圖像、從選定的頁面中移除照片、擦除單張圖片,或基於灰階模式進行過濾。該庫讓您能夠控制文檔中的每一張圖片,這使得它非常適合自動化、內容清理和文檔準備。

如果您有任何問題?在我們的 support forum 上獲得免費專家幫助,只需發佈您的問題,我們的團隊將指導您前進。

另見