Een elektronisch boek, in de volksmond bekend als eBook, is een boek in digitale vorm dat leesbaar is op verschillende elektronische apparaten. Deze apparaten omvatten speciale eReaders zoals Kindle, of laptops, desktopcomputers en smartphones. Er zijn veel populaire bestandsindelingen van eBooks die op de markt worden gebruikt, waaronder; EPUB, FictionBook FB2, Microsoft Compiled HTML Help - CHM, DjVu, MOBI, PDF en vele andere. Als programmeur zal dit artikel u helpen om afbeeldingen uit eBooks in C# programmatisch te extraheren binnen .NET-toepassingen.

De volgende onderwerpen komen hieronder aan bod:

.NET API voor beeldextractie uit eBooks

Voor het extraheren van afbeeldingen uit eBooks zal ik GroupDocs.Parser for .NET API gebruiken in de C#-voorbeelden van dit artikel. Samen met de eBooks ondersteunt deze API het parseren en extraheren van afbeeldingen uit tekstverwerkingsdocumenten, spreadsheets, pdf’s, presentaties, e-mails, ZIP-archieven en vele andere documentindelingen.

U kunt de DLL’s of het MSI-installatieprogramma downloaden van de downloadsectie of de API in uw .NET-toepassing installeren via NuGet.

PM> Install-Package GroupDocs.Parser

Extraheer afbeeldingen uit EPUB eBook in C#

Laten we beginnen met het EPUB eBook om het te ontleden voor afbeeldingen. Door de stappen gevolgd door de C#-code te volgen, wordt het EPUB-eBook geparseerd en worden alle afbeeldingen erin geëxtraheerd.

  • Maak een klasseobject Parser.
  • Gebruik de methode GetImages om alle afbeeldingen van het EPUB eBook te extraheren.
  • Doorloop de geëxtraheerde afbeeldingen om deze één voor één te opslaan.
Alice EPUB

EPUB eBook van Adobe [Voorbeeld eBook-bibliotheek][12]

De volgende C#-code implementeert de genoemde parseerstappen om te parseren naar het hierboven getoonde EPUB eBook en slaat de geëxtraheerde afbeeldingen één voor één op de schijf op.

// Parseer eBooks om afbeeldingen uit EPUB-, FB2-, CHM-bestanden te extraheren en op schijf op te slaan in C#
using (Parser parser = new Parser("ebook.epub"))
{
    // Extraheer afbeeldingen uit het eBook
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    // Herhaal over geëxtraheerde afbeeldingen
    foreach (PageImageArea image in images)
    {
        image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
        imageNumber++;
    }
}
Afbeelding uit EPUB extraheren in C#

Hierdoor worden alle beschikbare afbeeldingen opgeslagen. Hier is een van de getoonde afbeeldingen als voorbeeld.

U kunt de geëxtraheerde afbeeldingen opslaan in een van de volgende ondersteunde afbeeldingsbestandsindelingen:

  • JPG
  • PNG
  • WEBP
  • GIF
  • BMP

Extraheer afbeeldingen uit FB2, CHM eBooks in C#

Als je het eBook in FB2, CHM of een ander formaat hebt, kun je de afbeeldingen op dezelfde manier extraheren. U hoeft alleen uw eBook door te geven aan de Parser-constructor tijdens het maken van het object. Vervolgens haalt de GetImages-methode afbeeldingen uit een van de geleverde eBooks met dezelfde C#-code.

// 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();

Conclusie

Ik hoop dat je je nu op je gemak voelt bij het programmatisch ophalen van alle afbeeldingen uit eBooks met EPUB, FB2, CHM en andere bestandsindelingen binnen je .NET-applicaties. U kunt zelfs uw eigen toepassing voor het extraheren van afbeeldingen bouwen met behulp van GroupDocs.Parser for .NET API.

Ga voor meer informatie over de API naar documentatie of open-sourcevoorbeelden op GitHub. Voor verdere problemen kunt u contact opnemen met de snelle ondersteuning op het forum.

Zie ook