11. 如何在 Java 中从 PDF 中提取图像
本文将探讨如何使用Java编程语言从现有的PDF文档中提取图像并将它们保存在一个文件夹中。 为此,使用IronPDF for Java库来提取图像。
11. 如何在 Java 中从 PDF 中提取图像
- 安装 Java 库以从 PDF 中提取图像。
- 加载 PDF 文件或从 URL 渲染
- 使用
extractAllImages方法提取图像 - 将提取的图像保存到 Java 中的文件或流中
- 在指定目录中检查提取的图像
IronPDF for Java PDF库
IronPDF是一个Java库,旨在帮助开发人员生成、修改和从Java应用程序中的PDF文件中提取数据。 借助IronPDF,您可以从HTML、图像等多种来源创建PDF文档。 此外,您还可以合并、拆分和操作现有的PDF。 IronPDF还包括安全功能,例如密码保护和数字签名。
由Iron Software开发和维护,IronPDF以其从PDF、HTML和URLs中提取文本的能力而闻名。 这使得它成为一个多用途且强大的工具,适用于多种应用,无论您是从头创建PDF还是处理现有的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存储库](https://central.sonatype.com/artifact/com.Iron Software/ironpdf)下载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/Iron Software/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"文件,并使用extractAllImages方法将文件中的所有图像提取到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")));
}
}
}在上述代码中,提供了亚马逊主页URL作为输入,并返回了74个图像。
PDF输出中的图像提取
结论
可以使用IronPDF库在Java中从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 等方法保存提取的图像。
在 Java 中提取 PDF 图像需要哪些先决条件?
要使用 Java 从 PDF 中提取图像,请确保安装了 Java 以及如 Eclipse 或 IntelliJ IDEA 的 Java IDE。此外,请配置 Maven 以管理依赖项,并在项目中包含 IronPDF 库。
如何在 Java 中安装用于 PDF 图像提取的库?
要安装 IronPDF 库,请在您的 Java IDE 中创建一个 Maven 项目,如 IntelliJ IDEA。将 IronPDF 依赖项添加到您的 pom.xml 文件,并使用 Maven 下载并包含到您的项目中。
我能否使用 Java 从 URL 生成的 PDF 文件中提取图像?
是的,您可以使用 IronPDF 的 renderUrlAsPdf 方法将 URL 转换为 PDF,然后使用 extractAllImages 方法从生成的 PDF 中提取图像。
是否有可用于 Java PDF 库的试用版本?
IronPDF 提供免费试用版,允许您探索其在 Java 中管理 PDF 和提取图像的功能。
哪种 Java IDE 适合使用 IronPDF?
推荐使用 Eclipse 和 IntelliJ IDEA 作为使用 IronPDF 库处理 PDF 的 Java 应用程序开发的 IDE。
如何使用 Java 保存从 PDF 中提取的图像?
一旦使用 IronPDF 从 PDF 中提取了图像,您可以使用 ImageIO.write 方法保存它们,并指定所需的文件路径和图像格式。
使用哪种方法从 Java 中的 PDF 文件中提取图像?
在 IronPDF 中,使用 extractAllImages 方法从 PDF 文档中提取所有图像。此方法返回的图像列表可以进一步处理或保存。
在保存从 PDF 中提取的图像时可以使用哪种图像格式?
可以使用 Java 中的 ImageIO.write 方法将提取的图像保存为各种格式,如 PNG。
Java 中的 PDF 管理库提供哪些功能?
IronPDF 是一个全面的 Java 库,使开发人员能够生成、修改和从 PDF 文件中提取数据。它包括文本提取、合并、拆分和应用安全措施的功能。










