Elektronická kniha, lidově eBook, je kniha v digitální podobě, která je čitelná na různých elektronických zařízeních. Mezi tato zařízení patří vyhrazené čtečky elektronických knih jako Kindle nebo notebooky, stolní počítače a chytré telefony. Na trhu existuje mnoho populárních formátů souborů elektronických knih, které zahrnují; EPUB, FictionBook FB2, Microsoft Compiled HTML Help - CHM, DjVu, MOBI, PDF a mnoho dalších. Jako programátorovi vám tento článek pomůže programově extrahovat obrázky z elektronických knih v C# v rámci aplikací .NET.

Níže budou probrána následující témata:

.NET API pro extrakci obrázků z elektronických knih

Pro extrakci obrázků z elektronických knih budu používat GroupDocs.Parser for .NET API v příkladech C# v tomto článku. Spolu s elektronickými knihami toto API podporuje analýzu a extrakci obrázků z textových dokumentů, tabulek, PDF, prezentací, e-mailů, archivů ZIP a mnoha dalších formátů dokumentů.

Můžete si stáhnout DLL nebo instalační program MSI z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Parser

Extrahujte obrázky z elektronické knihy EPUB v C#

Začněme elektronickou knihou EPUB, abychom ji analyzovali na obrázky. Následující kroky následované kódem C# analyzují eKnihu EPUB a extrahují všechny obrázky v ní.

  • Vytvořte objekt třídy Parser.
  • Pomocí metody GetImages extrahujte všechny obrázky eKnihy EPUB.
  • Procházejte extrahované obrázky a uložte, jeden po druhém.
alice EPUB

Elektronická kniha EPUB z Adobe [Ukázka knihovny elektronických knih][12]

Následující kód C# implementuje uvedené kroky analýzy k analýze na výše uvedenou elektronickou knihu EPUB a ukládá extrahované obrázky jeden po druhém na disk.

// Analyzujte e-knihy pro extrahování obrázků ze souboru EPUB, FB2, CHM a uložení na disk v C#
using (Parser parser = new Parser("ebook.epub"))
{
    // Extrahujte obrázky z e-knihy
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    // Iterujte extrahované obrázky
    foreach (PageImageArea image in images)
    {
        image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
        imageNumber++;
    }
}
Extrahujte obrázek z EPUB v C#

V důsledku toho budou uloženy všechny dostupné obrázky. Zde je jeden z obrázků zobrazených jako ukázka.

Extrahované obrázky můžete uložit v kterémkoli z následujících podporovaných formátů souborů obrázků:

  • JPG
  • PNG
  • WEBP
  • GIF
  • BMP

Extrahujte obrázky z FB2, CHM eBooks v C#

Pokud máte e-knihu ve formátu FB2, CHM nebo v jiném formátu, můžete její obrázky extrahovat stejným způsobem. Při vytváření objektu stačí předat svou e-knihu konstruktoru analyzátoru. Pak bude metoda GetImages extrahovat obrázky z kterékoli z poskytnutých elektronických knih pomocí stejného kódu 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();

Závěr

Doufám, že nyní budete spokojeni s programovým získáváním všech obrázků z elektronických knih pomocí souborů EPUB, FB2, CHM a dalších formátů souborů ve vašich aplikacích .NET. Pomocí API GroupDocs.Parser for .NET si dokonce můžete vytvořit svou vlastní aplikaci pro extrakci obrázků.

Další informace o rozhraní API naleznete v dokumentaci nebo v příkladech open source na GitHubu. V případě dalších problémů se můžete obrátit na rychlou podporu na fóru.

Viz také