1. Məhsullar
  2.   elektron kitab
  3.   .NET
  4.   EpubReader
 
  

.NET Kitabxanası EPUB Sənədlərinin Oxunması üçün

C# tətbiqlərində EPUB faylını əldə etmək və oxumaq, məzmununu çıxarmaq və EPUB-u PDF-ə çevirmək üçün Açıq Mənbəli .NET API.

Açıq mənbəli .NET kitabxanası olan EpubReader, proqram təminatı inkişaf etdiricilərinə öz C# tətbiqlərində EPUB sənədlərini açmaq və oxumaq imkanı verir. Kitabxana EPUB 2 (2.0, 2.0.1) və EPUB 3 (3.0, 3.0.1, 3.1, 3.2) standartlarını tam dəstəkləyir. EpubReader kitabxanası yalnız EPUB fayllarının oxunmasını dəstəkləyir və hal-hazırda yazma dəstəyi təmin etmir.

EpubReader kitabxanası, xarici asılılıqlar olmadan EPUB kitablarını və çıxarılan məzmunları təhlil etməyi dəstəkləyir. EPUB sənədi CSS, şəkillər, şriftlər və s. daxil olmaqla HTML fayllarının toplusu ola bilər. Beləliklə, digər HTML faylları kimi veb brauzer tərəfindən render edilə bilər. Kitabxana istifadəçilərə bütün kitabın sadə mətnini çıxarmağa, fəsil təhlili dəstəyinə, kitabın örtüyünü çıxarmağa və bir qovluqdakı bütün EPUB fayllarını gəzərək bəzi statistikalar toplamağa imkan verir.

Previous Next

EpubReader ilə Başlamaq

EpubReader-i quraşdırmağın tövsiyə olunan yolu NuGet-dən istifadə etməkdir. Zəhmət olmasa, aşağıdakı əmri istifadə edərək quraşdırmanı problemsiz edin.

EpubReader-i NuGet vasitəsilə quraşdırın

NuGet\Install-Package VersOne.Epub -Version 3.2.0 

Siz həmçinin onu əl ilə quraşdıra bilərsiniz; son buraxılış fayllarını birbaşa GitHub deposundan yükləyin.

EPUB Kitabını .NET Kitabxanası vasitəsilə Yükləmək & Oxumaq

Açıq mənbəli EpubReader kitabxanası .NET tətbiqlərində EPUB kitablarını yükləmək və oxumaq üçün tam dəstək verir. Kitabxana EPUB kitabları ilə işləmək üçün çoxsaylı faydalı metodları özündə birləşdirir, məsələn, kitabı yaddaşa yükləmək, kitabın başlığını çap etmək, müəllifini çap etmək, məzmun cədvəlini çap etmək, kitabın müəyyən bir fəsilini çap etmək, bütün fəsilləri çap etmək və s. Aşağıdakı kod nümunəsi kitabxanadan istifadə edərək EPUB kitabını necə yükləmək və çap etmək lazım olduğunu göstərir.

.NET Kitabxanası vasitəsilə EPUB Kitabını oxuyun

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();
}

EPUB Kitabından Sadə Mətn çıxarmaq C# vasitəsilə

Açıq mənbəli EpubReader kitabxanası proqram inkişaf etdiricilərinə C# .NET kodu ilə EPUB kitabını yükləmək və ondan sadə mətn çıxarmağa imkan verir. Xahiş edirik, bu işi problemsiz yerinə yetirmək üçün HtmlAgilityPack NuGet paketini quraşdırmağınız lazım olduğunu qeyd edin. Aşağıdakı nümunə .NET kodunun bir neçə sətri ilə bütün kitabın sadə mətnini necə çıxarmaq olduğunu göstərir.

C# vasitəsilə EPUB kitabından sadə mətn çıxarmaq

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();
        }
    }
}

EPUB Kitabının Mündəricatını C# API vasitəsilə çıxarmaq

Açıq mənbəli EpubReader kitabxanası proqram inkişaf etdiricilərinə EPUB kitabını yükləməyə və C# .NET kodundan istifadə edərək ondan düz mətn çıxarmağa imkan verir. Qeyd edək ki, bu vəzifəni problemsiz yerinə yetirmək üçün HtmlAgilityPack NuGet paketini quraşdırmalısınız. Aşağıdakı nümunə yalnız bir neçə .NET kod sətiri ilə bütün kitabın düz mətnini necə çıxarmağı göstərir.

.NET API vasitəsilə EPUB kitabının məzmun cədvəlini necə çıxarmaq?

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);
            }
        }
    }
}
 Azəri