將 PDF 轉換為圖像文件的 Java 程式
1. 介紹
將 PDF 頁面/文件轉換為圖像文件(例如 JPEG、PNG 或 TIFF)在軟體行業中有許多應用。 有時候,您需要將 PDF 檔案的特定頁面製作成圖像以便用於其他地方,但您唯一的選擇是對頁面進行螢幕截圖。 假設你正在進行一個 Java 專案,其功能是載入並將 PDF 頁面轉換為圖像檔案,然後將它們用於其他用途。 使用傳統的 Java 代碼,轉換幾乎是不可能的。 為此,我們將使用IronPDF for Java.
如何在 Java 中將 PDF 轉換為圖像
- 安裝 Java 庫以將 PDF 轉換為各種圖像格式
- 利用 轉換為緩衝圖像 將 PDF 轉換成圖像的方法
- 首先獲取 PDF,將 URL 轉換為圖像 將 renderUrlAsPdf 轉換為 PDF 方法
- 使用步驟 2 將 PDF 轉換為所需的圖像格式
- 使用
編寫
導出每張圖片的方法
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
文件中添加以下依賴項,或者您可以從以下位置下載 API 的 JAR 文件IronPDF 的 Maven Repository 頁面.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2024.11.4</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 用於 Java 的文檔. 有關如何將PDF轉換為圖像的更多信息,请访问此IronPDF PDF 轉換為影像範例.
IronPDF for Java 在開發目的上是免費的,但商業使用則需要授權。 在以下內容中獲取有關許可的更多附加信息:IronPDF Java 授權頁面.