1. Termékek
  2.   eBook
  3.   .NET
  4.   EpubReader
 
  

.NET könyvtár EPUB dokumentumok olvasásához

Nyílt forráskódú .NET API az EPUB fájlok eléréséhez és olvasásához, tartalmuk kinyeréséhez, valamint C# alkalmazásokon belül EPUB-ot PDF-re konvertáláshoz.

Az EpubReader egy nagyon erőteljes nyílt forráskódú .NET könyvtár, amely lehetővé teszi a szoftverfejlesztők számára, hogy saját C# alkalmazásaikban megnyissák és olvassák az EPUB dokumentumokat. A könyvtár teljes mértékben támogatja az EPUB szabványokat: EPUB 2 (2.0, 2.0.1) valamint EPUB 3 (3.0, 3.0.1, 3.1, 3.2). Az EpubReader könyvtár csak az EPUB fájlok olvasását támogatja, és jelenleg nem biztosít írási támogatást.

Az EpubReader könyvtár támogatja az EPUB könyvek és a kinyert tartalmak feldolgozását külső függőségek nélkül. Egy EPUB dokumentum lehet HTML fájlok gyűjteménye, beleértve a CSS-t, képeket, betűtípusokat és egyebeket. Így ugyanúgy renderelhető, mint egy webböngésző a többi HTML fájllal. A könyvtár lehetővé teszi a felhasználók számára, hogy kinyerjék a teljes könyv egyszerű szövegét, fejezetek feldolgozását, a könyvborító kinyerését, valamint végigmenjenek egy könyvtárban lévő összes EPUB fájlon és statisztikákat gyűjtsenek.

Previous Next

Az EpubReader használatának megkezdése

Az EpubReader telepítésének ajánlott módja a NuGet használata. Kérjük, használja a következő parancsot a zökkenőmentes telepítéshez.

EpubReader telepítése NuGet-en keresztül

NuGet\Install-Package VersOne.Epub -Version 3.2.0 

Telepítheti manuálisan is; töltse le a legújabb kiadási fájlokat közvetlenül a GitHub tárolóból.

Hogyan töltsünk be és olvassunk EPUB könyvet .NET könyvtáron keresztül

Az nyílt forráskódú EpubReader könyvtár teljes mértékben támogatja az EPUB könyvek betöltését és olvasását .NET alkalmazásokban. A könyvtár számos hasznos metódust tartalmaz az EPUB könyvek kezeléséhez, például a könyv memóriába töltését, a könyv címének kiírását, a szerző nevének kiírását, a tartalomjegyzék kiírását, egy adott fejezet kiírását, az összes fejezet kiírását, és így tovább. Az alábbi kódrészlet bemutatja, hogyan lehet betölteni és kiírni egy EPUB könyvet a könyvtár segítségével.

EPUB könyv olvasása .NET könyvtáron keresztül

using System.Text;
using VersOne.Epub;
using HtmlAgilityPack;

// Load the book into memory
EpubBook book = EpubReader.ReadBook("test.epub");

// Print the title and the author of the book
Console.WriteLine($"Title: {book.Title}");
Console.WriteLine($"Author: {book.Author}");
Console.WriteLine();

// Print the table of contents
Console.WriteLine("TABLE OF CONTENTS:");
PrintTableOfContents();
Console.WriteLine();

// Print the text content of all chapters in the book
Console.WriteLine("CHAPTERS:");
PrintChapters();

void PrintTableOfContents()
{
    foreach (EpubNavigationItem navigationItem in book.Navigation)
    {
        PrintNavigationItem(navigationItem, 0);
    }
}

void PrintNavigationItem(EpubNavigationItem navigationItem, int identLevel)
{
    Console.Write(new string(' ', identLevel * 2));
    Console.WriteLine(navigationItem.Title);
    foreach (EpubNavigationItem nestedNavigationItem in navigationItem.NestedItems)
    {
        PrintNavigationItem(nestedNavigationItem, identLevel + 1);
    }
}

void PrintChapters()
{
    foreach (EpubTextContentFile textContentFile in book.ReadingOrder)
    {
        PrintTextContentFile(textContentFile);
    }
}

void PrintTextContentFile(EpubTextContentFile textContentFile)
{
    HtmlDocument htmlDocument = new();
    htmlDocument.LoadHtml(textContentFile.Content);
    StringBuilder sb = new();
    foreach (HtmlNode node in htmlDocument.DocumentNode.SelectNodes("//text()"))
    {
        sb.AppendLine(node.InnerText.Trim());
    }
    string contentText = sb.ToString();
    Console.WriteLine(contentText);
    Console.WriteLine();
}

Egyszerű szöveg kinyerése egy EPUB könyvből C#-on keresztül

Az nyílt forráskódú EpubReader könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy C# .NET kóddal betöltsenek egy EPUB könyvet, és egyszerű szöveget nyerjenek ki belőle. Kérjük, vegye figyelembe, hogy a feladat zökkenőmentes elvégzéséhez telepítenie kell a HtmlAgilityPack NuGet csomagot. Az alábbi példa bemutatja, hogyan lehet néhány .NET kódsorral kinyerni a teljes könyv egyszerű szövegét.

Egyszerű szöveg kinyerése egy EPUB könyvből C#-on keresztül

using System;
using System.Text;
using HtmlAgilityPack;

namespace VersOne.Epub.ConsoleDemo
{
    internal static class ExtractPlainText
    {
        public static void Run(string filePath)
        {
            EpubBook book = EpubReader.ReadBook(filePath);
            foreach (EpubTextContentFile textContentFile in book.ReadingOrder)
            {
                PrintTextContentFile(textContentFile);
            }
        }

        private static void PrintTextContentFile(EpubTextContentFile textContentFile)
        {
            HtmlDocument htmlDocument = new();
            htmlDocument.LoadHtml(textContentFile.Content);
            StringBuilder sb = new();
            foreach (HtmlNode node in htmlDocument.DocumentNode.SelectNodes("//text()"))
            {
                sb.AppendLine(node.InnerText.Trim());
            }
            string contentText = sb.ToString();
            Console.WriteLine(contentText);
            Console.WriteLine();
        }
    }
}

Tartalomjegyzék kinyerése EPUB könyvből C# API-n keresztül

A nyílt forráskódú EpubReader könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy egy EPUB könyvet betöltsenek, és egyszerű szöveget nyerjenek ki belőle C# .NET kóddal. Kérjük, vegye figyelembe, hogy a feladat zökkenőmentes végrehajtásához telepítenie kell a HtmlAgilityPack Nuget csomagot. Az alábbi példa bemutatja, hogyan lehet a teljes könyv egyszerű szövegét néhány .NET kódsorral kinyerni.

Hogyan nyerhetjük ki a tartalomjegyzéket egy EPUB könyvből .NET API segítségével?

using System;

namespace VersOne.Epub.ConsoleDemo
{
    internal static class PrintNavigation
    {
        public static void Run(string filePath)
        {
            using (EpubBookRef bookRef = EpubReader.OpenBook(filePath))
            {
                Console.WriteLine("Navigation:");
                foreach (EpubNavigationItemRef navigationItemRef in bookRef.GetNavigation())
                {
                    PrintNavigationItem(navigationItemRef, 0);
                }
            }
            Console.WriteLine();
        }

        private static void PrintNavigationItem(EpubNavigationItemRef navigationItemRef, int identLevel)
        {
            Console.Write(new string(' ', identLevel * 2));
            Console.WriteLine(navigationItemRef.Title);
            foreach (EpubNavigationItemRef nestedNavigationItemRef in navigationItemRef.NestedItems)
            {
                PrintNavigationItem(nestedNavigationItemRef, identLevel + 1);
            }
        }
    }
}
 Magyar