Java PDF 轉換為圖像檔案

This article was translated from English: Does it need improvement?
Translated
View the article in English

1. 介紹

將 PDF 頁面/文件轉換為圖像文件,例如 JPEG 圖像、PNG 或 TIFF,在軟件行業有很多應用。有時候,你需要 PDF 文件的特定頁面的圖像以便在其他地方使用,但唯一的選擇就是截取頁面的圖像。想像你正在開發具有加載和轉換 PDF 頁面為圖像文件功能的 Java 專案,並將它們用於其他用途。使用傳統的 Java 代碼,轉換幾乎是不可能的。為此,我們將使用 IronPDF for Java.

2. IronPDF for Java

IronPDF for Java 是一個可以讓您創建、準備以及管理 PDF 文件的套件。由於其 PDF 文件生成組件,可以讓開發人員在不需要 Adobe Acrobat 的情況下讀取 PDF、生成/創建和修改 PDF 文件,因此非常受開發人員的歡迎。IronPDF for Java 支援自定義頁眉/頁腳、簽名、附件、密碼和安全機制。改進的性能特徵之一是全面的多線程和異步支援。IronPDF for Java 適用於基於 Maven 的專案。

下方將討論如何使用 Java 將 PDF 頁面轉換為圖像格式,例如 JPEG 圖像、JPG 或 PNG 圖像。

3. 先決條件

在我們開始之前,有幾點必須具備才可進行此轉換。

  1. 系統中應已安裝 Java,並且 Java 的路徑應設置在環境變數中。請參考此 連結 要安裝Java(如果您之前沒有)。

  2. 應安裝良好的Java IDE,如Eclipse或IntelliJ。要下載Eclipse,請訪問此處 連結 若要下載 IntelliJ,請點擊此處 連結3. 在進行轉換之前,應將 Maven 與 IDE 整合。關於安裝 Maven 並將其整合到環境中的教程,請訪問以下網站。 連結[連結].

4. IronPDF for Java 安裝

當所有的先決條件都滿足後,安裝 IronPDF for Java 對於新手 Java 開發者來說也相當簡單且容易。

要使用 IronPDF for Java,首先你需要一個 IDE。本文將使用 JetBrains IntelliJ IDEA 來安裝所需的依賴並運行範例。

首先,打開 JetBrains IntelliJ IDEA 並創建一個新的 Maven 項目。

Java PDF 轉成圖像 - 圖 1:建立新的 Maven 專案

建立一個新的 Maven 專案

將出現一個新窗口。輸入專案名稱並點擊完成。

Java PDF to Image - Figure 2: 新專案名稱

新專案名稱

點擊完成後,將會開啟一個新專案,且預設情況下會開啟該專案中的pom.xml,這很好,因為我們需要添加IronPDF for Java的Maven依賴。

Java PDF to Image - Figure 3: 新專案

新專案

在pom.xml文件中添加以下依赖,或者您可以從以下位置下載API的JAR文件 連結.

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2024.9.1</version>
</dependency>

一旦將依賴項置於pom.xml文件中,視窗右上角會出現一個小圖標。

Java PDF to Image - Figure 4: Maven 依賴項

Maven 依賴項

點擊此圖標來安裝 Maven 依賴項。根據您的網絡連接情況,這只需要幾分鐘。

5. 使用 IronPDF for Java 將 PDF 檔案轉換為圖片

使用 IronPDF for Java,將 PDF 轉換成 JPEG 等圖片只需幾行代碼。它會將輸入的 PDF 文件轉換為圖片的輸出流。使用 toBufferedImages 方法,它會返回一個包含 BufferedImage 對象集合的列表,並按照頁碼的升序排列。

使用 IronPDF for Java,您不僅可以從 PDF 文檔生成圖片,還可以直接從 URL 和 HTML 創建圖片。

5.1. 將 PDF 文件轉換為圖像

在以下示例中,我們將整個 PDF 文件轉換為圖像。要開始,請編寫以下代碼並運行程序。

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;

public class main {
    public static void main(String [] args) throws IOException {
        PdfDocument instance = PdfDocument.fromFile(Paths.get("business plan.pdf"));
        List<BufferedImage> extractedImages = instance.toBufferedImages();
        ToImageOptions rasterOptions = new ToImageOptions();
        rasterOptions.setImageMaxHeight(800);
        rasterOptions.setImageMaxWidth(500);

        List<BufferedImage> sizedExtractedImages = instance.toBufferedImages(rasterOptions, PageSelection.allPages());
        int pageIndex = 1;
        for (BufferedImage extractedImage : sizedExtractedImages) {
            String fileName = "assets/images/" + pageIndex++ + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
        }
    }
}
JAVA

以下範例的輸出將會儲存在您的專案的資產資料夾中 (在运行程序之前创建此文件夹) 從第1頁開始編號,並將對所有PDF頁面進行遞增。

Java PDF 轉圖片 - 圖 5:新專案

PDF 轉換為圖像輸出

5.2. 將URL轉換為PDF及PDF轉換為圖片

使用IronPDF for Java,您可以直接將HTML轉換為PDF,然後將生成的PDF的每一頁轉換為圖片。

在接下來的示例中,我們將使用亞馬遜網站。以下程式將把Amazon.com上的一個頁面渲染成PDF,然後將PDF的每一頁作為圖片存儲在assets資料夾中。

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.edit.PageSelection;
import com.ironsoftware.ironpdf.image.ToImageOptions;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.List;

public class main {
    public static void main(String [] args) throws IOException {
        PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
        List<BufferedImage> extractedImages = pdf.toBufferedImages();
        ToImageOptions rasterOptions = new ToImageOptions();
        rasterOptions.setImageMaxHeight(800);
        rasterOptions.setImageMaxWidth(500);
        List<BufferedImage> sizedExtractedImages = pdf.toBufferedImages(rasterOptions, PageSelection.allPages());
        int i = 1;
        for (BufferedImage extractedImage : sizedExtractedImages) {
            String fileName = "assets/images/" + i++ + ".png";
            ImageIO.write(extractedImage, "PNG", new File(fileName));
        }
    }
}
JAVA
Java PDF to Image - Figure 6: PDF 轉換為圖像輸出

PDF 轉換為圖像輸出

通過將對 ToImageOptions 實例的調用替換為以下內容,調整從上述示例創建的圖像分辨率:

rasterOptions.setImageMaxHeight(800);
rasterOptions.setImageMaxWidth(500);
JAVA

上面的兩行程式碼調整了每個產生圖像的寬度和高度,當呼叫 toBufferedImage 時會生效。

6. 結論

這份操作指南展示了如何使用IronPDF for Java將PDF轉換成圖片。IronPDF生成的PDF頁面圖片包含頁碼和文件名稱,如前面例子中所示。IronPDF可以生成各種格式的圖片:JPEG、JPG、TIFF等等。

IronPDF也給予用戶對輸出圖片解析度的完全控制。欲了解更多關於IronPDF for Java的信息,以及獲取更多關於如何使用Java操作PDF的操作指南,請參閱以下內容 連結. 想要了解更多有關如何將 PDF 轉換為圖像的資訊,請前往此 連結IronPDF for Java 可免費用於開發目的,但商業用途需取得許可。獲取更多有關許可的資訊 這裡.