Java PDF 轉換為圖像文件
使用IronPDF的toBufferedImages方法在Java中將PDF文件轉換為JPEG、PNG或TIFF等圖像格式。 載入PDF文件,調用ImageIO將每個圖像寫入磁盤。 整個轉換過程不到十行Java程式碼。
快速入門:在Java中將PDF轉換為圖像
-
將IronPDF依賴項新增到您的Maven項目中: ```xml :title=pom.xml
com.ironsoftware ironpdf 2024.9.1 -
載入您的PDF文件:
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/load-pdf.java PdfDocument pdf = PdfDocument.fromFile(Paths.get("document.pdf"));//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/load-pdf.java PdfDocument pdf = PdfDocument.fromFile(Paths.get("document.pdf"));JAVA - 轉換為圖像並保存:
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-and-save.java List<BufferedImage> images = pdf.toBufferedImages(); for (int i = 0; i < images.size(); i++) { ImageIO.write(images.get(i), "PNG", new File("page_" + i + ".png")); }//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-and-save.java List<BufferedImage> images = pdf.toBufferedImages(); for (int i = 0; i < images.size(); i++) { ImageIO.write(images.get(i), "PNG", new File("page_" + i + ".png")); }JAVA
如何在Java中將PDF轉換為圖像
- 安裝IronPDF Java程式庫
- 使用
PdfDocument.fromFile()載入PDF文件 - 調用
toBufferedImages()以獲取List<BufferedImage> - 如果需要,使用
ToImageOptions設置輸出尺寸 - 使用
ImageIO.write()將每個圖像寫入磁盤
何為PDF到圖像轉換以及其需求為何?
PDF到圖像轉換將PDF文件的每個頁面轉換成獨立的圖像文件(JPEG、PNG 或TIFF),可在無PDF查看器的情況下顯示、嵌入或處理。 Java的標准程式庫沒有內建機制來實現這一點,這使得需要文件預覽、縮略圖生成或歸檔流程的開發者遇到持久的痛點。
常見用途包括為文件管理系統生成縮略圖預覽,為網路應用生成頁面級截圖,並提取報告或演示所需的視覺內容。 IronPDF在內部處理所有渲染複雜性,因此應用程式碼保持簡短,無論源PDF中使用哪種字體、矢量圖形或表單字段,輸出依然像素精確。 關於將圖像放入PDF中的逆向操作,請參見圖像到PDF指南。
何為IronPDF for Java及其幫助?
IronPDF for Java是用於在基於Maven的項目中建立、讀取和編輯PDF文件的程式庫。 開發者可使用它從HTML生成PDF、修改現有文件及在伺服器上不安裝Adobe Acrobat 或任何PDF查看器的情況下提取內容。
此程式庫支持自定義頁眉和頁腳、數位簽名、表單建立、密碼保護和多執行緒渲染。 其PDF到圖像功能通過PageSelection以控制解析度和頁面範圍。 欲了解完整功能概覽,請存取IronPDF for Java文件。 如需完整API參考,請參見Java API參考。
除了基本轉換,IronPDF還支持HTML 到 PDF 渲染、自定義水印、背景和前景及表單建立。 它還在Sonatype Maven Central倉庫上發布Maven工件,因此依賴管理遵循標准Maven或Gradle工作流程。
開始之前需要哪些先決條件?
開始之前,請確認以下內容已到位:
- 已安裝Java,並在環境變數中設置了路徑。 請參考官方Java安裝指南。
- 安裝了Java IDE; Eclipse或IntelliJ都能很好地工作。 Download Eclipse or IntelliJ IDEA.
- 與IDE整合的Maven。請參考IntelliJ的Maven設置教程。
- 在生產環境部署前配置授權金鑰。
如何安裝IronPDF for Java?
所有必要條件完成後,安裝僅需一個Maven依賴聲明。 有關詳細設置步驟,請查閱入門文件。
打開JetBrains IntelliJ IDEA並建立一個新的Maven項目。
出現一個新窗口。 輸入項目名稱並點擊完成。
點擊完成後,新的項目將以pom.xml預設顯示打開。 在該文件中新增以下依賴項。選擇性SLF4J項目可在開發過程中抑制日誌噪音; 如果您的項目已包含日誌框架,請將其移除。
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/pom-dependencies.xml
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.36</version>
</dependency>
</dependencies>
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/pom-dependencies.xml
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.36</version>
</dependency>
</dependencies>
將依賴新增到pom.xml後,主編輯器右上角將出現一個Maven同步圖標。
單擊同步圖標以下載IronPDF JAR。 下載時間依連接速度而異,通常在兩分鐘內完成。 安裝後,請查閱Java API 參考以查看所有可用的方法和配置選項。 對於雲部署目標,IronPDF擁有針對AWS、Azure和Google Cloud已測指南。
如何使用IronPDF將PDF文件轉換為圖像?
調用List<BufferedImage>,其中每個元素對應一個頁數遞增的PDF頁面。 然後可將結果寫入磁盤、傳遞至圖像處理流程或直接返回給網路回應。
IronPDF還可即時將URLs和HTML字串轉換為PDF,因此可在不需單獨渲染步驟的情況下以單一流程將任何網頁或渲染的HTML文件捕捉為圖像。
如何將現有的PDF文件轉換為圖像?
PageSelection參數來瞄準特定頁面。 如果未傳遞任何參數,則所有頁面都以其自然解析度轉換。
以下範例將PDF的所有頁面轉換為PNG文件,並使用ToImageOptions將每個輸出圖像限制為800x500像素:
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-pdf-to-images.java
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 {
// Load the PDF document from disk
PdfDocument pdf = PdfDocument.fromFile(Paths.get("business_plan.pdf"));
// Configure output image dimensions
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert all pages to BufferedImage objects with the configured dimensions
List<BufferedImage> pages = pdf.toBufferedImages(options, PageSelection.allPages());
// Write each page image to the assets/images folder (create the folder first)
int pageIndex = 1;
for (BufferedImage page : pages) {
String fileName = "assets/images/" + pageIndex++ + ".png";
ImageIO.write(page, "PNG", new File(fileName));
}
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-pdf-to-images.java
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 {
// Load the PDF document from disk
PdfDocument pdf = PdfDocument.fromFile(Paths.get("business_plan.pdf"));
// Configure output image dimensions
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert all pages to BufferedImage objects with the configured dimensions
List<BufferedImage> pages = pdf.toBufferedImages(options, PageSelection.allPages());
// Write each page image to the assets/images folder (create the folder first)
int pageIndex = 1;
for (BufferedImage page : pages) {
String fileName = "assets/images/" + pageIndex++ + ".png";
ImageIO.write(page, "PNG", new File(fileName));
}
}
}
輸出圖像保存到1。 在運行程式前建立該資料夾,因為ImageIO.write不建立缺少的目錄。 setImageMaxWidth會對每個尺寸設置上限; IronPDF保留原始長寬比並不拉伸圖像。
"JPEG"並相應更新文件擴展名。
更多轉換範例,請存取PDF光柵化範例頁面。
如何使用IronPDF將URL轉換為圖像?
PdfDocument。 這使得獲取任何公開可存取的網頁為一系列圖像變得簡單。
以下範例將Amazon產品頁面渲染為PDF,然後將每個結果頁面儲存為PNG文件:
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-url-to-images.java
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.util.List;
public class Main {
public static void main(String[] args) throws IOException {
// Render a URL to a PDF document using the Chromium rendering engine
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com");
// Configure output image dimensions
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert all pages and write to disk
List<BufferedImage> pages = pdf.toBufferedImages(options, PageSelection.allPages());
int pageIndex = 1;
for (BufferedImage page : pages) {
String fileName = "assets/images/" + pageIndex++ + ".png";
ImageIO.write(page, "PNG", new File(fileName));
}
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/convert-url-to-images.java
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.util.List;
public class Main {
public static void main(String[] args) throws IOException {
// Render a URL to a PDF document using the Chromium rendering engine
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com");
// Configure output image dimensions
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert all pages and write to disk
List<BufferedImage> pages = pdf.toBufferedImages(options, PageSelection.allPages());
int pageIndex = 1;
for (BufferedImage page : pages) {
String fileName = "assets/images/" + pageIndex++ + ".png";
ImageIO.write(page, "PNG", new File(fileName));
}
}
}
需要身份驗證或會話Cookie來渲染的頁面,請參見網站登錄指南。
renderUrlAsPdf的Chromium渲染引擎應用與現代桌面瀏覽器相同的CSS和JavaScript支持。 依賴使用者端JavaScript載入內容的頁面將正確呈現,包括單頁應用。如何將特定頁面轉換為圖像?
PageSelection提供幾種工廠方法來瞄準部分頁面而不是整個文件。 當只需提取封面頁、摘要部分或已知頁碼範圍時,這非常有用。
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/page-selection.java
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 PageSelectionExample {
public static void main(String[] args) throws IOException {
PdfDocument pdf = PdfDocument.fromFile(Paths.get("report.pdf"));
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert only the first page (page index is zero-based)
List<BufferedImage> coverPage = pdf.toBufferedImages(options, PageSelection.singlePage(0));
ImageIO.write(coverPage.get(0), "PNG", new File("cover.png"));
// Convert pages 2 through 5 (zero-based indices 1 through 4)
List<BufferedImage> excerpt = pdf.toBufferedImages(options, PageSelection.pageRange(1, 4));
for (int i = 0; i < excerpt.size(); i++) {
ImageIO.write(excerpt.get(i), "PNG", new File("excerpt_" + (i + 1) + ".png"));
}
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-pdf-to-image-tutorial/page-selection.java
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 PageSelectionExample {
public static void main(String[] args) throws IOException {
PdfDocument pdf = PdfDocument.fromFile(Paths.get("report.pdf"));
ToImageOptions options = new ToImageOptions();
options.setImageMaxHeight(800);
options.setImageMaxWidth(500);
// Convert only the first page (page index is zero-based)
List<BufferedImage> coverPage = pdf.toBufferedImages(options, PageSelection.singlePage(0));
ImageIO.write(coverPage.get(0), "PNG", new File("cover.png"));
// Convert pages 2 through 5 (zero-based indices 1 through 4)
List<BufferedImage> excerpt = pdf.toBufferedImages(options, PageSelection.pageRange(1, 4));
for (int i = 0; i < excerpt.size(); i++) {
ImageIO.write(excerpt.get(i), "PNG", new File("excerpt_" + (i + 1) + ".png"));
}
}
}
使用PageSelection.singlePage(0)只針對第一頁,這對於生成封面縮略圖非常有用。 使用PageSelection.pageRange(1, 4)提取頁碼二到五,以零為編碼。 兩者皆返回一個List<BufferedImage>,因此無論選擇多少頁面,迴圈模式皆相同。
1,依此類推。 傳遞超出範圍的索引會在運行時丟擲IndexOutOfBoundsException。Java PDF到圖像轉換的下一步是什麼?
本指南涵蓋了三種常見模式:將現有PDF的所有頁面轉換、捕捉URL為一頁圖像集及提取目標頁碼範圍。 IronPDF通過ImageIO處理解析度控制和格式選擇,保持調用程式碼簡潔且可預測。
要繼續使用IronPDF for Java構建,請探索這些相關資源:
- Java光柵化例子 - 其他PDF到圖像的程式碼範例
- 從PDF中提取圖像和文字 - 從現有PDF文件中提取嵌入式圖像
- 在Java中壓縮PDF - 在儲存或傳輸前減少文件大小
- 自定義水印 - 在保存之前將水印新增到輸出圖像或PDF
- IronPDF for Java文件 - 完整的 API 參考和設置指南
IronPDF for Java免費供開發使用。 商業部署需要許可證。 開始您的免費試用 或 查看許可證選項 以查看哪個計劃適合您的專案。
準備好看看IronPDF還能做什麼嗎? 查看完整的IronPDF for Java教學頁面。
常見問題
我如何在Java中將PDF文件轉換為PNG圖像?
使用PdfDocument.fromFile()載入PDF,呼叫toBufferedImages()獲取代表每個頁面的BufferedImage物件列表,然後使用ImageIO.write()將每個圖像儲存為PNG文件。
轉換PDF頁面時支持哪些圖像格式?
IronPDF的toBufferedImages方法返回BufferedImage物件。您可以將這些儲存為Java的ImageIO類支持的任何格式,包括PNG、JPEG和TIFF。
我可以只將PDF的特定頁面轉換為圖像嗎?
可以。向toBufferedImages傳遞PageSelection參數。使用PageSelection.singlePage(0)轉換單個頁面或PageSelection.pageRange(1, 4)轉換範圍。頁面索引從零開始。
在Java中將PDF轉換為圖像的常見用例是什麼?
常見用例包括為文件管理系統生成縮略圖預覽、為網路應用生成頁面級別的截圖、提取演示文稿的視覺內容,和將文件檔案存檔為圖像以供不支持PDF渲染的系統使用。
如何將IronPDF新增到我的Maven專案中?
在pom.xml的<dependencies>塊中新增以下依賴項:<dependency><groupId>com.ironsoftware</groupId><artifactId>ironpdf</artifactId><version>2024.9.1</version></dependency>
我可以直接將URL轉換為圖像檔案嗎?
可以。呼叫PdfDocument.renderUrlAsPdf(url)使用內建的Chromium引擎呈現頁面,然後將生成的PdfDocument傳遞給toBufferedImages以獲取頁面圖像列表。
如何控制輸出圖像的解析度?
建立ToImageOptions實例,呼叫setImageMaxHeight()和setImageMaxWidth()設置最大尺寸,然後將其作為第一個參數傳遞給toBufferedImages。IronPDF保留了縱橫比,不會拉伸圖像。








