Un libro elettronico, popolarmente noto come eBook, è un libro in formato digitale leggibile su vari dispositivi elettronici. Questi dispositivi includono eReader dedicati come Kindle o laptop, computer desktop e smartphone. Esistono molti formati di file popolari di eBook in uso sul mercato che includono; EPUB, FictionBook FB2, Guida HTML compilata da Microsoft - CHM, DjVu, MOBI, PDF e molti altri. In qualità di programmatore, questo articolo ti aiuterà a estrarre a livello di codice immagini da eBook in C# all’interno di applicazioni .NET.

Di seguito verranno trattati i seguenti argomenti:

API .NET per l’estrazione di immagini dagli eBook

Per l’estrazione di immagini dagli eBook, utilizzerò l’API GroupDocs.Parser for .NET negli esempi C# di questo articolo. Insieme agli eBook, questa API supporta l’analisi e l’estrazione di immagini da documenti di elaborazione testi, fogli di calcolo, PDF, presentazioni, e-mail, archivi ZIP e molti altri formati di documenti.

Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API nella tua applicazione .NET tramite NuGet.

PM> Install-Package GroupDocs.Parser

Estrai immagini dall’eBook EPUB in C#

Iniziamo con l’eBook EPUB per analizzarlo per le immagini. I passaggi seguenti seguiti dal codice C# analizzano l’eBook EPUB ed estraggono tutte le immagini in esso contenute.

  • Crea un oggetto di classe Parser.
  • Usa il metodo GetImages per estrarre tutte le immagini dell’eBook EPUB.
  • Attraversa le immagini estratte per salvare queste, una per una.
alice EPUB

eBook EPUB da Adobe [Libreria di eBook di esempio][12]

Il codice C# seguente implementa i passaggi di analisi menzionati per analizzare l’eBook EPUB mostrato sopra e salva le immagini di estrazione una per una sul disco.

// Analizza gli eBook per estrarre immagini da file EPUB, FB2, CHM e salvarli su disco in C#
using (Parser parser = new Parser("ebook.epub"))
{
    // Estrai le immagini dall'eBook
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    // Iterare sulle immagini estratte
    foreach (PageImageArea image in images)
    {
        image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
        imageNumber++;
    }
}
Estrai immagine da EPUB in C#

Di conseguenza, tutte le immagini disponibili verranno salvate. Ecco una delle immagini mostrate come esempio.

È possibile salvare le immagini estratte in uno qualsiasi dei seguenti formati di file immagine supportati:

  • JPG
  • PNG
  • WEBP
  • GIF
  • BMP

Estrai immagini da FB2, eBook CHM in C#

Se hai l’eBook in FB2, CHM o con qualche altro formato, puoi estrarne le immagini allo stesso modo. Devi solo passare il tuo eBook al costruttore Parser durante la creazione dell’oggetto. Quindi il metodo GetImages estrarrà le immagini da uno qualsiasi degli eBook forniti usando lo stesso codice 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();

Conclusione

Spero che ora ti sentirai a tuo agio nell’ottenere a livello di codice tutte le immagini dagli eBook con EPUB, FB2, CHM e altri formati di file all’interno delle tue applicazioni .NET. Puoi persino creare la tua applicazione di estrazione di immagini utilizzando l’API GroupDocs.Parser for .NET.

Per ulteriori informazioni sull’API, puoi visitare documentazione o esempi open source su GitHub. Per qualsiasi ulteriore problema, puoi contattare il supporto rapido al forum.

Guarda anche