如何在 Java 中提取圖像從 PDF
本文將探討如何從現有的PDF文件中提取圖片,並使用Java程式語言將其儲存在單一資料夾中。 為此,我們使用IronPDF for Java程式庫來提取圖片。
如何在Java中從PDF中提取圖片
- 安裝Java程式庫以從PDF中提取圖片
- 載入PDF文件或從URL渲染
- 利用
extractAllImages方法來提取圖片 - 將提取的圖片儲存到Java中的檔案或資料流中
- 檢查指定目錄中的提取圖片
IronPDF Java PDF程式庫
IronPDF是一個Java程式庫,旨在幫助開發者在其Java應用程式中生成、修改和提取PDF文件中的資料。 使用IronPDF,您可以從HTML、圖片等多種來源建立PDF文件。 此外,您還具有合併、拆分和操作現有PDF的能力。 IronPDF還包括安全功能,例如密碼保護和數位簽名。
由Iron Software開發和維護的IronPDF,以其從PDF、HTML和URL中提取文字的能力而聞名。 這使得它成為了建立或使用現有PDF文件的一種多用途且功能強大的工具。
先決條件
在使用IronPDF從PDF文件中提取資料之前,必須滿足一些先決條件:
IronPDF for Java安裝
只要所有要求都滿足,安裝IronPDF for Java是一個簡單的過程。 本指南將使用JetBrains IntelliJ IDEA演示安裝並運行一些範例程式碼。
-
啟動IntelliJ IDEA: 在您的系統上打開JetBrains IntelliJ IDEA。
- 建立Maven專案: 在IntelliJ IDEA中建立一個新的Maven專案。 這將為安裝 IronPDF for Java 提供一個合適的環境。
建立一個新的Maven專案
一個新窗口將出現。 輸入專案名稱,然後點擊完成。
輸入專案名稱
在您按下完成後,將打開一個新的專案到pom.xml檔案中,以新增IronPDF for Java的Maven依賴項。
接下來,在pom.xml檔案中新增以下依賴項,或您可以從這個Maven倉庫下載JAR檔案。
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR_VERSION_HERE</version>
</dependency>
當您將依賴項放入pom.xml檔案時,檔案的右上角會出現一個小圖標。
pom.xml檔案中有一個小圖標可用於安裝依賴項
點擊這個圖標來安裝IronPDF for Java的Maven依賴項。 這將根據您的網路連接速度需要幾分鐘時間。
提取圖片
您可以使用IronPDF中的一個單獨方法[extractAllImages](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#extractAllImages())從PDF文件中提取圖片。 此方法返回PDF文件中所有可用的圖片。之後,您可以使用ImageIO.write方法通過提供輸出圖片的路徑和格式將所有提取的圖片保存到您選擇的檔案路徑。
5.1. 從PDF文件中提取圖片
在以下範例中,PDF文件中的圖片將被提取並以PNG圖片形式儲存在檔案系統中。
import com.ironsoftware.ironpdf.PdfDocument;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
// Load PDF document from file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("Final Project Report Craft Arena.pdf"));
// Extract all images from the PDF document
List<BufferedImage> images = pdf.extractAllImages();
int i = 0;
// Save each extracted image to the filesystem as a PNG
for (BufferedImage image : images) {
ImageIO.write(image, "PNG", Files.newOutputStream(Paths.get("image" + ++i + ".png")));
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
// Load PDF document from file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("Final Project Report Craft Arena.pdf"));
// Extract all images from the PDF document
List<BufferedImage> images = pdf.extractAllImages();
int i = 0;
// Save each extracted image to the filesystem as a PNG
for (BufferedImage image : images) {
ImageIO.write(image, "PNG", Files.newOutputStream(Paths.get("image" + ++i + ".png")));
}
}
}
上述程式打開了"Final Project Report Craft Arena.pdf"文件,並使用BufferedImage物件的列表中。 然後,它將每個新文件圖片分別保存為具有唯一名稱的PNG文件。
從PDF中提取圖片輸出
從URL提取圖片
本節將討論如何直接從URL提取圖片。 在下面的程式碼中,URL被轉換為PDF頁面,然後切換導航以從PDF中提取圖片。
import com.ironsoftware.ironpdf.PdfDocument;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
// Render PDF from a URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Extract all images from the rendered PDF document
List<BufferedImage> images = pdf.extractAllImages();
int i = 0;
// Save each extracted image to the filesystem as a PNG
for (BufferedImage image : images) {
ImageIO.write(image, "PNG", Files.newOutputStream(Paths.get("image" + ++i + ".png")));
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
// Render PDF from a URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Extract all images from the rendered PDF document
List<BufferedImage> images = pdf.extractAllImages();
int i = 0;
// Save each extracted image to the filesystem as a PNG
for (BufferedImage image : images) {
ImageIO.write(image, "PNG", Files.newOutputStream(Paths.get("image" + ++i + ".png")));
}
}
}
在上述程式碼中,Amazon首頁URL被提供作為輸入,它返回74張圖片。
從PDF中提取圖片輸出
結論
在Java中使用IronPDF程式庫可以完成從PDF文件中提取圖片。 要安裝IronPDF,您需要擁有Java、一個Java IDE(Eclipse或IntelliJ)、Maven以及IronPDF程式庫已安裝並與您的專案整合。 使用IronPDF從PDF文件中提取圖片的過程很簡單,它只需要一次方法調用extractAllImages。 然後,您可以使用ImageIO.write方法將圖片儲存到您選擇的檔案路徑。
本文提供了一步步指導,關於如何使用Java和IronPDF程式庫從PDF文件中提取圖片。 更多資訊,包括如何從PDF中提取文字的資訊,可以在提取文字程式碼範例中找到。
常見問題
如何使用Java從PDF中提取圖像?
要使用Java從PDF中提取圖像,請使用IronPDF程式庫。首先載入PDF文件,然後使用extractAllImages方法。提取的圖像可以使用ImageIO.write方法保存。
從PDF中提取圖像需要哪些前提條件?
要使用Java從PDF中提取圖像,請確保已安裝Java以及Java IDE,如Eclipse或IntelliJ IDEA。此外,配置Maven以管理依賴並在您的專案中包括IronPDF庫。
如何在Java中安裝用於PDF圖像提取的程式庫?
要安裝IronPDF程式庫,請在您的Java IDE中(如IntelliJ IDEA)建立一個Maven項目。將IronPDF依賴新增到您的pom.xml文件中,並使用Maven下載並將其包含在您的項目中。
我可以從Java中的URL生成的PDF中提取圖像嗎?
是的,您可以使用IronPDF的renderUrlAsPdf方法將URL轉換為PDF,然後使用extractAllImages方法從所得的PDF中提取圖像。
是否有Java PDF程式庫的試用版?
IronPDF提供免費試用版,讓您可以探索其在PDF管理和圖像提取中的功能和特性。
哪些Java IDE適合使用IronPDF?
Eclipse和IntelliJ IDEA是推薦的IDE,用於開發使用IronPDF程式庫處理PDF的Java應用程式。
我如何使用Java保存從PDF中提取的圖像?
一旦您使用IronPDF從PDF中提取了圖像,就可以使用ImageIO.write方法來保存這些圖像,指定所需的文件路徑和圖像格式。
哪種方法用於從PDF文件中提取圖像在Java中?
在IronPDF中,extractAllImages方法用於從PDF文件中提取所有圖像。此方法返回一個圖像列表,您可以進一步處理或保存。
保存從PDF中提取的圖像時可以使用哪些圖像格式?
提取的圖像可以保存為多種格式,如PNG,您可以在Java中使用ImageIO.write方法。
Java中的PDF管理程式庫提供哪些功能?
IronPDF是一個全面的Java程式庫,使開發者能夠生成、修改和從PDF文件中提取資料。它包括文字提取、合併、拆分和應用安全措施等功能。





