电子书,俗称eBook,是一种数字形式的书,可在各种电子设备上阅读。这些设备包括专用电子阅读器,如 Kindle,或笔记本电脑、台式电脑和智能手机。市场上有许多流行的电子书文件格式,包括: EPUB、FictionBook FB2、Microsoft 编译的 HTML 帮助 - CHM、DjVu、MOBI、PDF 等等。作为一名程序员,本文将帮助您在 .NET 应用程序中 以 C# 语言从电子书中以编程方式提取图像。
下面将介绍以下主题:
用于从电子书中提取图像的 .NET API
为了从电子书中提取图像,我将在本文的 C# 示例中使用 GroupDocs.Parser for .NET API。与电子书一起,此 API 支持从文字处理文档、电子表格、PDF、演示文稿、电子邮件、ZIP 档案和许多其他文档格式中解析和提取图像。
您可以从 下载部分 下载 DLL 或 MSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。
PM> Install-Package GroupDocs.Parser
在 C# 中从 EPUB 电子书中提取图像
让我们从 EPUB 电子书开始解析它的图像。 C# 代码后面的步骤解析 EPUB 电子书并提取其中的所有图像。
下面的 C# 代码实现了上面提到的解析步骤,以解析到上面显示的 EPUB 电子书,并将提取的图像一一保存到磁盘。
// 解析电子书以从 EPUB、FB2、CHM 文件中提取图像并用 C# 保存到磁盘
using (Parser parser = new Parser("ebook.epub"))
{
// 从电子书中提取图像
IEnumerable<PageImageArea> images = parser.GetImages();
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// 迭代提取的图像
foreach (PageImageArea image in images)
{
image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
imageNumber++;
}
}
结果,所有可用的图像都将被保存。这是作为示例显示的图像之一。
您可以将提取的图像保存为以下任何受支持的图像文件格式:
- JPG
- PNG
- 网页版
- 动图
- BMP
从 C# 中的 FB2、CHM 电子书中提取图像
如果您有 FB2、CHM 或其他格式的电子书,您可以以相同的方式提取其图像。您只需在创建对象时将您的电子书传递给 Parser 构造函数。然后 GetImages 方法将使用相同的 C# 代码从任何提供的电子书中提取图像。
// Pass the FB2, CHM, PDF, or any other eBook to Parser contructor
Parser parser = new Parser("ebook.fb2"); // FB2
// Parser parser = new Parser("ebook.chm"); // CHM
// Parser parser = new Parser("ebook.pdf"); // PDF
IEnumerable<PageImageArea> images = parser.GetImages();
结论
我希望您现在能够在您的 .NET 应用程序中以编程方式从具有 EPUB、FB2、CHM 和其他文件格式的电子书中获取所有图像。您甚至可以使用 GroupDocs.Parser for .NET API 构建自己的图像提取器应用程序。
有关 API 的更多信息,您可以访问 文档 或 GitHub 上的开源示例。对于任何其他问题,您可以在 论坛 上联系快速支持。