電子書,通常稱為電子書,是一種數字形式的書籍,可以在各種電子設備上閱讀。這些設備包括 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 電子書並提取其中的所有圖像。

  • 創建 Parser 類對象。
  • 使用 GetImages 方法提取 EPUB 電子書的所有圖像。
  • 遍歷提取的圖像以保存這些,一張一張。
愛麗絲EPUB

來自 Adobe [示例電子書庫][12] 的 EPUB 電子書

下面的 C# 代碼實現了上述解析步驟來解析上面顯示的 EPUB 電子書,並將提取的圖像一張一張地保存到磁盤。

// 在 C# 中解析電子書以從 EPUB、FB2、CHM 文件中提取圖像並保存到磁盤
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 中提取圖像

結果,將保存所有可用圖像。這是作為示例顯示的圖像之一。

您可以將提取的圖像保存為以下任何受支持的圖像文件格式:

  • 圖片
  • PNG
  • WEBP
  • 動圖
  • 骨形態發生蛋白

從 C# 中的 FB2、CHM 電子書中提取圖像

如果你有 FB2、CHM 或其他格式的電子書,你可以用同樣的方法提取它的圖像。您只需在創建對象時將電子書傳遞給解析器構造函數。然後 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 上的開源示例。對於任何進一步的問題,您可以聯繫 論壇 上的快速支持。

也可以看看