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
- Extraheer afbeeldingen uit EPUB eBook in C#
- Extraheer afbeeldingen uit FB2, CHM eBooks in C#
.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.
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++;
}
}
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.