ইপাব ডকুমেন্ট রিডিংয়ের জন্য .NET লাইব্রেরি
অ্যাক্সেস ও রিড ইপাব ফাইল, এর বিষয়বস্তু বের করা এবং C# অ্যাপের মধ্যে ইপাবকে পিডিএফ-এ রূপান্তর করার জন্য ওপেন সোর্স .NET API।
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);
}
}
}
}