Książka elektroniczna, popularnie zwana eBookiem, to książka w formie cyfrowej, którą można czytać na różnych urządzeniach elektronicznych. Urządzenia te obejmują dedykowane czytniki e-booków, takie jak Kindle lub laptopy, komputery stacjonarne i smartfony. Na rynku istnieje wiele popularnych formatów plików eBooków, w tym; EPUB, FictionBook FB2, Microsoft Compiled HTML Help - CHM, DjVu, MOBI, PDF i wiele innych. Jako programista ten artykuł pomoże ci programowo wyodrębnić obrazy z eBooków w języku C# w aplikacjach .NET.

Poniżej zostaną omówione następujące tematy:

Interfejs API platformy .NET do wyodrębniania obrazów z e-booków

Do wyodrębniania obrazów z e-booków użyję interfejsu API GroupDocs.Parser for .NET w przykładach C# w tym artykule. Wraz z eBookami ten interfejs API obsługuje analizowanie i wyodrębnianie obrazów z dokumentów edytorów tekstu, arkuszy kalkulacyjnych, plików PDF, prezentacji, wiadomości e-mail, archiwów ZIP i wielu innych formatów dokumentów.

Możesz pobrać instalator DLL lub MSI z sekcji pobierania lub zainstalować interfejs API w swojej aplikacji .NET za pośrednictwem NuGet.

PM> Install-Package GroupDocs.Parser

Wyodrębnij obrazy z eBooka EPUB w C#

Zacznijmy od eBooka EPUB, aby przeanalizować go pod kątem obrazów. Poniższe kroki, po których następuje kod C#, analizują eBook EPUB i wyodrębniają wszystkie zawarte w nim obrazy.

  • Utwórz obiekt klasy Parser.
  • Użyj metody GetImages, aby wyodrębnić wszystkie obrazy eBooka EPUB.
  • Przejrzyj wyodrębnione obrazy, aby je zapisać, jeden po drugim.
Alicja EPUB

EBook EPUB z Adobe [Przykładowa biblioteka eBooków][12]

Poniższy kod C# implementuje wspomniane kroki analizowania w celu przeanalizowania do pokazanego powyżej eBooka EPUB i zapisuje wyodrębnione obrazy jeden po drugim na dysku.

// Analizuj eBooki, aby wyodrębniać obrazy z pliku EPUB, FB2, CHM i zapisywać na dysku w C#
using (Parser parser = new Parser("ebook.epub"))
{
    // Wyodrębnij obrazy z eBooka
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
    int imageNumber = 0;
    // Iteruj po wyodrębnionych obrazach
    foreach (PageImageArea image in images)
    {
        image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
        imageNumber++;
    }
}
Wyodrębnij obraz z EPUB w C#

W rezultacie wszystkie dostępne obrazy zostaną zapisane. Oto jeden z obrazów pokazanych jako próbka.

Wyodrębnione obrazy można zapisać w dowolnym z następujących obsługiwanych formatów plików obrazów:

  • JPG
  • PNG
  • WEBP
  • GIF-y
  • BMP

Wyodrębnij obrazy z eBooków FB2, CHM w C#

Jeśli masz eBook w formacie FB2, CHM lub innym, możesz wyodrębnić jego obrazy w ten sam sposób. Musisz tylko przekazać swój eBook do konstruktora Parsera podczas tworzenia obiektu. Następnie metoda GetImages będzie wyodrębniać obrazy z dowolnego dostarczonego eBooka przy użyciu tego samego kodu 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();

Wniosek

Mam nadzieję, że teraz będziesz czuł się komfortowo w programowym pobieraniu wszystkich obrazów z eBooków z EPUB, FB2, CHM i innymi formatami plików w swoich aplikacjach .NET. Możesz nawet zbudować własną aplikację do wyodrębniania obrazów za pomocą GroupDocs.Parser for .NET API.

Aby uzyskać więcej informacji na temat interfejsu API, odwiedź dokumentację lub przykłady open source na GitHub. W przypadku dalszych problemów możesz skontaktować się z szybkim wsparciem na forum.

Zobacz też