.NET bibliotēka EPUB dokumentu lasīšanai
Atvērtā koda .NET API, lai piekļūtu un lasītu EPUB failu, izvilktu tā saturu un konvertētu EPUB uz PDF C# lietojumprogrammās.
EpubReader ir ļoti jaudīga atvērtā koda .NET bibliotēka, kas ļauj programmatūras izstrādātājiem atvērt un lasīt EPUB dokumentus savās C# lietojumprogrammās. Bibliotēka pilnībā atbalsta EPUB standartus EPUB 2 (2.0, 2.0.1) kā arī EPUB 3 (3.0, 3.0.1, 3.1, 3.2). EpubReader bibliotēka pašlaik atbalsta tikai EPUB failu lasīšanu un šobrīd nesniedz rakstīšanas atbalstu.
EpubReader bibliotēka atbalsta EPUB grāmatu parsēšanu un saturu izguvi bez ārējām atkarībām. EPUB dokuments var būt HTML failu kolekcija, ieskaitot CSS, attēlus, fontus & vairāk. Tādējādi tas var tikt attēlots tāpat kā tīmekļa pārlūkprogramma attēlo citus HTML failus. Bibliotēka ļauj lietotājiem izgūt visas grāmatas vienkāršo tekstu, nodrošina nodaļu parsēšanu, izguve grāmatas vāku, kā arī pāriet cauri visiem EPUB failiem direktorijā un savākt dažus statistikas datus.
Sākšana ar EpubReader
Ieteicamais veids, kā instalēt EpubReader, ir izmantot NuGet. Lūdzu, izmantojiet šādu komandu, lai veiktu gludu instalāciju.
Instalējiet EpubReader, izmantojot NuGet
NuGet\Install-Package VersOne.Epub -Version 3.2.0
Jūs varat arī instalēt to manuāli; lejupielādējiet jaunākos izlaiduma failus tieši no GitHub krātuves.
Kā ielādēt un lasīt EPUB grāmatu, izmantojot .NET bibliotēku
Atvērtā koda EpubReader bibliotēka pilnībā atbalsta EPUB grāmatu ielādēšanu un lasīšanu .NET lietojumprogrammās. Bibliotēka ietver daudz noderīgu metožu EPUB grāmatu apstrādei, piemēram, grāmatas ielādēšanu atmiņā, grāmatas nosaukuma izdrukāšanu, autora izdrukāšanu, satura rādītāja izdrukāšanu, konkrēta nodaļas izdrukāšanu, visu nodaļu izdrukāšanu un tā tālāk. Zemāk esošais koda piemērs parāda, kā ielādēt un izdrukāt EPUB grāmatu, izmantojot bibliotēku.
Lasiet EPUB grāmatu, izmantojot .NET bibliotēku
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();
}
Izvilkt vienkāršu tekstu no EPUB grāmatas, izmantojot C#
Atvērtā koda EpubReader bibliotēka ļauj programmatūras izstrādātājiem ielādēt EPUB grāmatu un izvilkt no tās vienkāršu tekstu, izmantojot C# .NET kodu. Lūdzu, ņemiet vērā, ka, lai šo uzdevumu veiktu gludi, jāinstalē HtmlAgilityPack NuGet pakotne. Zemāk esošais piemērs parāda, kā izvilkt visas grāmatas vienkāršo tekstu, izmantojot tikai pāris .NET koda rindas.
Izgūt vienkāršu tekstu no EPUB grāmatas, izmantojot C#
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();
}
}
}
Izvilkt satura rādītāju no EPUB grāmatas, izmantojot C# API
Atvērtā koda EpubReader bibliotēka ļauj programmatūras izstrādātājiem ielādēt EPUB grāmatu un izvilkt no tās vienkāršu tekstu, izmantojot C# .NET kodu. Lūdzu, ņemiet vērā, ka, lai šo uzdevumu veiktu gludi, jāinstalē HtmlAgilityPack NuGet pakotne. Zemāk esošais piemērs parāda, kā izvilkt visas grāmatas vienkāršo tekstu, izmantojot tikai pāris .NET koda rindas.
Kā izgūt satura rādītāju no EPUB grāmatas, izmantojot .NET API?
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);
}
}
}
}