PDF 是最流行的文件格式之一,几乎每个企业和行业都在使用它。 PDF 文档可以包含多种内容,包括格式化文本、图像、注释等。通常需要从 PDF 文件中提取内容。在本文的此处,我们将讨论如何使用 Java 以编程方式从 PDF 文档中提取图像。
从 PDF 文件中提取图像的 Java API
GroupDocs 为 Java 开发人员提供了 GroupDocs.Parser,用于从 PDF 文件中提取图像。除了 PDF 文件外,相同的 API 还支持从各种其他文档格式(如文字处理文档、电子表格、电子书、演示文稿、电子邮件、ZIP 存档和许多其他文档格式 中解析和提取图像.
下载或配置
您可以从 下载部分 下载 JAR 文件,或者只获取基于 maven 的 Java 应用程序的 pom.xml 的存储库和依赖项配置。
<repository>
<id>groupdocs-artifacts-repository</id>
<name>GroupDocs Artifacts Repository</name>
<url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>22.11</version>
</dependency>
在 Java 中从 PDF 文档中提取图像的步骤
以下分步说明如何使用几行 Java 代码从 PDF 文件中获取图像。
- 创建一个新项目。
- 如上所述下载 API 或更新到最新的 API 版本。
- 导入以下类:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
- 使用 Parser 类加载 PDF 文档。
// 加载PDF文件
try (Parser parser = new Parser("path/document.pdf")) {
// 图像提取代码在这里。
}
- 使用 getImages 方法从文档中提取所有图像。
// 从加载的文件中提取图像
Iterable<PageImageArea> images = parser.getImages();
- 访问集合中的每个图像并使用 save 方法保存它。
// 使用扩展名保存文件
for (PageImageArea image : images) {
image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}
图像可以保存为各种不同的图像格式,如 PNG、JPG、BMP、WebP 或 GIF。
Java完整代码——从PDF中提取图像
这是完整的源代码,它允许您从提供的 PDF 文件中获取所有图像。
// 用Java从PDF文件中提取图像
try (Parser parser = new Parser("path/document.pdf"))
{
// 获取图像
Iterable<PageImageArea> images = parser.getImages();
// 检查是否支持图像提取
if (images == null)
{
System.out.println("Images extraction isn't supported");
return;
}
int imageCounter = 0;
// 迭代提取的图像
for (PageImageArea image : images)
{
image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}
}
结果
示例 PDF 文档
提取图像
如果您需要,还可以在另一篇文章中解释如何用 Java 从 PDF 文档的任何特定页面中提取图像。
阅读更多
您可以使用其 文档 探索更多关于数据提取 Java API 的信息。您可以通过我们的 论坛 与我们分享您的疑问。