电子书,俗称eBook,是一种数字形式的书,可在各种电子设备上阅读。这些设备包括专用电子阅读器,如 Kindle,或笔记本电脑、台式电脑和智能手机。市场上有许多流行的电子书文件格式,包括: EPUB、FictionBook FB2、Microsoft 编译的 HTML 帮助 - CHMDjVuMOBIPDF 等等。作为一名程序员,本文将帮助您在 .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 电子书并提取其中的所有图像。

  • 创建 Parser 类对象。
  • 使用 GetImages 方法提取 EPUB 电子书的所有图像。
  • 将提取的图像一张一张地遍历到save这些。
爱丽丝 EPUB

Adobe 的 EPUB 电子书 [示例电子书库][12]

下面的 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++;
    }
}
在 C# 中从 EPUB 中提取图像

结果,所有可用的图像都将被保存。这是作为示例显示的图像之一。

您可以将提取的图像保存为以下任何受支持的图像文件格式:

  • 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 上的开源示例。对于任何其他问题,您可以在 论坛 上联系快速支持。

也可以看看