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
- Extrahujte obrázky z elektronické knihy EPUB v C#
- Extrahujte obrázky z FB2, CHM eBooks v C#
.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.
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++;
}
}
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.