各种格式的电子书在日常使用中非常普遍。电子书可以包含文本和图像。如果您想在其他地方使用任何电子书的图像,您可以在 Java 应用程序中以编程方式轻松提取这些图像。在本文中,您将学习自动化,如何从电子书文件中提取图像,例如 Java 中的 EPUB、PDF、FB2、CHM。
下面将介绍以下主题:
用于从电子书中提取图像的 Java API
GroupDocs.Parser for Java API 是一个功能丰富的自动化 API,用于从 Java 中的电子书和文档中提取图像。除此之外,API 还支持从文字处理文档、电子表格、PDF、演示文稿、电子邮件、ZIP 档案和许多其他 支持的文档格式 中解析和提取图像、文本和元数据。
下载并配置
从 downloads 部分获取 JAR 文件,或者在基于 Maven 的 Java 应用程序中添加以下 pom.xml 配置以尝试以下示例。有关详细信息,您可以访问 API 参考。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>21.2</version>
</dependency>
用 Java 从 EPUB 电子书中提取图像
让我们从 EPUB 电子书开始解析它的图像。以下步骤解析 EPUB 电子书并使用 Java 代码从中提取所有图像。
下面的 Java 代码解析 EPUB 电子书,并将电子书的图像一张一张地保存到磁盘中。
// 解析电子书以从 Java 中的 PDF、EPUB、FB2、CHM 文件中提取图像并保存到磁盘。
Parser parser = new Parser("ebook.epub");
// 从电子书中提取图像并以 JPEG 格式保存。
Iterable<PageImageArea> images = parser.getImages();
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// 迭代提取的图像
for (PageImageArea image : images) {
image.save(Constants.getOutputFilePath(String.format("%d.jpeg", imageNumber)), options);
imageNumber++;
}
结果,所有图像都将保存到提供的位置。这是作为示例显示的图像之一。
图像可以保存为以下任何图像文件格式:
- JPG
- PNG
- WEBP
- 动图
- BMP
用 Java 从 PDF、FB2、CHM 电子书中提取图像
除了 EPUB 格式,如果您有 PDF、FB2、CHM 或其他格式的电子书,您可以以相同的方式提取它们的图像。只需在创建对象时将您的电子书传递给 Parser 构造函数。之后,getImages 方法将使用相同的 Java 代码从您提供的电子书中提取图像。
// Provide different eBook formats to the Parser constructor to extract the images.
// Parser parser = new Parser("ebook.epub");
Parser parser = new Parser("ebook.pdf");
// Parser parser = new Parser("ebook.fb2");
// Parser parser = new Parser("ebook.chm");
Iterable<PageImageArea> images = parser.getImages();
结论
在本文中,您学习了在 Java 应用程序中以编程方式从 PDF、EPUB、FB2、CHM 电子书中获取所有图像。现在您可以尝试使用 GroupDocs.Parser for Java API 构建您自己的图像提取 Java 应用程序。
有关 API 的更多信息,您可以访问 文档 或 GitHub 上的开源示例。对于任何其他问题,您可以在 论坛 上联系快速支持。