將 PDF 轉換為圖像文件的 Java 程式
1. 介紹
將 PDF 頁面/文件轉換為圖像文件(例如 JPEG、PNG 或 TIFF)在軟體行業中有許多應用。 有時候,您需要將 PDF 檔案的特定頁面製作成圖像以便用於其他地方,但您唯一的選擇是對頁面進行螢幕截圖。 假設你正在進行一個 Java 專案,其功能是載入並將 PDF 頁面轉換為圖像檔案,然後將它們用於其他用途。 使用傳統的 Java 代碼,轉換幾乎是不可能的。 為此,我們將使用IronPDF for Java。
如何在 Java 中將 PDF 轉換為圖像
- 安裝 Java 函式庫以將 PDF 轉換為各種圖像格式
- 利用toBufferedImages方法將PDF轉換為圖像
- 透過先使用renderUrlAsPdf方法獲取PDF,將URL轉換成圖片
- 使用步驟 2 將 PDF 轉換為所需的圖像格式
- 使用
write
方法匯出每張圖片
IronPDF for Java
IronPDF for Java 是一個允許您創建、準備和管理 PDF 文件的套件。 由於其 PDF 文件生成組件受到開發者的歡迎,這個組件允許他們閱讀 PDF,生成/創建及修改 PDF 文件,而不需要 Adobe Acrobat。 IronPDF for Java 支持自訂頁首/頁尾、簽名、附件、密碼和安全機制。 其中一個改善性能的功能是完全的多線程和異步支持。 IronPDF for Java 適用於基於 Maven 的項目。
以下我們將討論如何使用 Java 將 PDF 頁面轉換為圖像格式,如 JPEG、JPG 或 PNG。
3. 先決條件
在我們開始之前,有幾點必須注意以執行此轉換。
Java 應該安裝在系統中,並且其路徑應該設定在環境變數中。 如果您尚未安裝,請參考此Java 安裝指南來安裝 Java。
應安裝一款優秀的Java IDE,如Eclipse或IntelliJ。 若要下載 Eclipse,請造訪此Eclipse 下載頁面,若要下載 IntelliJ,請造訪此IntelliJ 下載頁面。
- 在開始轉換之前,應該將 Maven 整合到 IDE 中。 有關安裝 Maven 並將其整合到環境中的教程,請訪問此Maven 安裝教程。
4. IronPDF for Java 安裝
一旦滿足所有前提條件,安裝IronPDF for Java 對於新的Java開發者來說也是簡單而容易的。
要使用 IronPDF for Java,首先需要一個集成開發環境。在本文中,我們將使用 JetBrains IntelliJ IDEA 來安裝所需的依賴項並運行示例。
首先,打開 JetBrains IntelliJ IDEA 並創建一個新的 Maven 項目。
將會出現一個新視窗。 輸入專案名稱,然後點擊完成。
當您點擊完成後,一個新的項目將會開啟,並且默認情況下會打開項目中的pom.xml
,這是很好的,因為我們需要添加IronPDF for Java的Maven依賴項。
在pom.xml
文件中添加以下依赖項,或者您可以從以下IronPDF的Maven庫頁面下載API的JAR文件。
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2025.3.6</version>
</dependency>
一旦您將依賴項放置在pom.xml
文件中,窗口右上角會出現一個小圖標。
點擊此圖示以安裝 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));
}
}
}
以下範例的輸出將儲存在您專案的資產資料夾中(在執行程式之前請先創建此資料夾),並從1開始為所有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));
}
}
}
透過以下的替換來調整從上述範例創建的圖像解析度,將調用 ToImageOptions
實例替換為以下內容:
rasterOptions.setImageMaxHeight(800);
rasterOptions.setImageMaxWidth(500);
以上兩行代碼調整了每個生成圖像在調用toBufferedImage
時將具有的寬度和高度。
6. 結論
本操作指南展示了如何使用 IronPDF for Java 將 PDF 轉換為圖像。 從IronPDF產生的PDF頁面圖像包含頁碼和文件名稱,如前例所示。 IronPDF 可以生成不同格式的圖像:JPEG、JPG、TIFF,以及更多。
IronPDF 也讓使用者完全控制輸出影像的解析度。 若要了解更多有關 IronPDF for Java 的信息,並獲取關於如何使用 Java 操作 PDF 的額外指南,請參考 IronPDF for Java 文檔。 欲瞭解更多關於如何將 PDF 轉換為影像的資訊,請參閱此IronPDF PDF 轉換為影像範例。
IronPDF for Java 在開發目的上是免費的,但商業使用則需要授權。 請在IronPDF Java 許可頁面獲取更多附加信息。