.NET लाइब्रेरी EPUB दस्तावेज़ पढ़ने के लिए
ओपन सोर्स .NET API जो EPUB फ़ाइल तक पहुँचने और पढ़ने, उसकी सामग्री निकालने और C# एप्लिकेशन के भीतर EPUB को PDF में परिवर्तित करने में सक्षम बनाता है।
EpubReader एक बहुत ही शक्तिशाली ओपन सोर्स .NET लाइब्रेरी है जो सॉफ़्टवेयर डेवलपर्स को अपने C# अनुप्रयोगों के भीतर EPUB दस्तावेज़ खोलने और पढ़ने में सक्षम बनाती है। यह लाइब्रेरी EPUB मानकों EPUB 2 (2.0, 2.0.1) तथा EPUB 3 (3.0, 3.0.1, 3.1, 3.2) को पूरी तरह समर्थन देती है। EpubReader लाइब्रेरी केवल EPUB फ़ाइलों को पढ़ने का समर्थन करती है और वर्तमान में लेखन समर्थन प्रदान नहीं करती है।
EpubReader लाइब्रेरी बाहरी निर्भरताओं के बिना EPUB पुस्तकों और निकाले गए सामग्री को पार्स करने का समर्थन करती है। एक EPUB दस्तावेज़ HTML फ़ाइलों का संग्रह हो सकता है जिसमें CSS, छवियां, फ़ॉन्ट आदि शामिल होते हैं। इसलिए इसे अन्य HTML फ़ाइलों की तरह वेब ब्राउज़र द्वारा रेंडर किया जा सकता है। यह लाइब्रेरी उपयोगकर्ताओं को पूरी पुस्तक का साधारण पाठ निकालने, अध्याय पार्सिंग समर्थन, पुस्तक कवर निकालने, तथा किसी निर्देशिका में सभी EPUB फ़ाइलों पर इटररेट करके कुछ आँकड़े एकत्र करने की सुविधा देती है।
EpubReader के साथ शुरुआत
EpubReader को स्थापित करने का अनुशंसित तरीका NuGet का उपयोग करना है। कृपया सुगम स्थापना के लिए निम्नलिखित कमांड का उपयोग करें।
NuGet के माध्यम से EpubReader स्थापित करें
NuGet\Install-Package VersOne.Epub -Version 3.2.0
आप इसे मैन्युअल रूप से भी स्थापित कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉज़िटरी से डाउनलोड करें।
.NET लाइब्रेरी के माध्यम से EPUB पुस्तक को लोड और पढ़ने का तरीका
ओपन सोर्स EpubReader लाइब्रेरी .NET अनुप्रयोगों के भीतर EPUB पुस्तकों को लोड करने और पढ़ने का पूर्ण समर्थन करती है। इस लाइब्रेरी में EPUB पुस्तकों को संभालने के लिए कई उपयोगी मेथड शामिल हैं, जैसे पुस्तक को मेमोरी में लोड करना, पुस्तक का शीर्षक प्रदर्शित करना, लेखक का नाम प्रदर्शित करना, सामग्री तालिका प्रदर्शित करना, पुस्तक के किसी विशेष अध्याय को प्रदर्शित करना, सभी अध्यायों को प्रदर्शित करना, आदि। निम्नलिखित कोड उदाहरण लाइब्रेरी का उपयोग करके EPUB पुस्तक को लोड और प्रदर्शित करने का तरीका दर्शाता है।
.NET लाइब्रेरी के माध्यम से EPUB पुस्तक पढ़ें
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();
}
C# के माध्यम से EPUB पुस्तक से साधारण टेक्स्ट निकालें
ओपन सोर्स EpubReader लाइब्रेरी सॉफ़्टवेयर डेवलपर्स को C# .NET कोड का उपयोग करके EPUB पुस्तक को लोड करने और उससे साधारण टेक्स्ट निकालने में सक्षम बनाती है। कृपया ध्यान दें कि इस कार्य को सुगमता से करने के लिए आपको HtmlAgilityPack NuGet स्थापित करना होगा। निम्नलिखित उदाहरण केवल कुछ .NET कोड लाइनों से पूरी पुस्तक का साधारण टेक्स्ट निकालने का तरीका दर्शाता है।
C# के माध्यम से EPUB पुस्तक से साधारण पाठ निकालें
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();
}
}
}
C# API के माध्यम से EPUB पुस्तक से सामग्री तालिका निकालें
ओपन सोर्स EpubReader लाइब्रेरी सॉफ़्टवेयर डेवलपर्स को C# .NET कोड का उपयोग करके EPUB बुक लोड करने और उससे सादा टेक्स्ट निकालने में सक्षम बनाती है। कृपया ध्यान दें कि इस कार्य को सुगमता से करने के लिए आपको HtmlAgilityPack Nuget स्थापित करना होगा। निम्नलिखित उदाहरण केवल कुछ .NET कोड लाइनों के साथ पूरी पुस्तक का सादा टेक्स्ट निकालने का तरीका दर्शाता है।
.NET API के माध्यम से EPUB पुस्तक से सामग्री तालिका कैसे निकालें?
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);
}
}
}
}