1. Ürün:% s
  2.   eKitap
  3.   .NET
  4.   EpubReader
 
  

EPUB Belgelerini Okumak için .NET Kütüphanesi

C# uygulamaları içinde EPUB dosyasına erişmek ve okumak, içeriğini çıkarmak ve EPUB'u PDF'ye dönüştürmek için Açık Kaynak .NET API.

EpubReader, yazılım geliştiricilerin kendi C# uygulamaları içinde EPUB belgelerini açıp okuyabilmelerini sağlayan çok güçlü bir açık kaynak .NET kütüphanesidir. Kütüphane, EPUB 2 (2.0, 2.0.1) ve EPUB 3 (3.0, 3.0.1, 3.1, 3.2) standartlarını tam olarak destekler. EpubReader kütüphanesi yalnızca EPUB dosyalarını okumayı destekler ve şu anda yazma desteği sağlamaz.

EpubReader kütüphanesi, dış bağımlılık olmadan EPUB kitaplarını ve çıkarılan içerikleri ayrıştırmayı destekler. Bir EPUB belgesi, CSS, görseller, yazı tipleri ve daha fazlasını içeren HTML dosyalarının bir koleksiyonu olabilir. Böylece diğer HTML dosyaları gibi bir web tarayıcısı tarafından da render edilebilir. Kütüphane, kullanıcıların tüm kitabın düz metnini çıkarmasını, bölüm ayrıştırma desteğini, kitap kapağını çıkarmasını ve bir dizindeki tüm EPUB dosyaları üzerinde döngü yaparak bazı istatistikler toplamasını sağlar.

Previous Next

EpubReader ile Başlarken

EpubReader'ı kurmanın önerilen yolu NuGet kullanmaktır. Lütfen sorunsuz bir kurulum için aşağıdaki komutu kullanın.

EpubReader'ı NuGet ile Kurun

NuGet\Install-Package VersOne.Epub -Version 3.2.0 

Ayrıca manuel olarak da kurabilirsiniz; en son sürüm dosyalarını doğrudan GitHub deposundan indirin.

EPUB Kitaplarını .NET Kütüphanesi ile Yükleme ve Okuma

Açık kaynaklı EpubReader kütüphanesi, .NET uygulamaları içinde EPUB kitaplarını yüklemeyi ve okumayı tam olarak destekler. Kütüphane, EPUB kitaplarını yönetmek için kitapları belleğe yükleme, kitabın başlığını yazdırma, yazarını yazdırma, içindekiler tablosunu yazdırma, belirli bir bölümü yazdırma, tüm bölümleri yazdırma gibi birçok kullanışlı yöntem içerir ve benzeri işlemler sunar. Aşağıdaki kod örneği, kütüphaneyi kullanarak bir EPUB kitabını nasıl yükleyeceğinizi ve yazdıracağınızı gösterir.

.NET Kütüphanesi ile EPUB Kitabı Okuma

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# ile bir EPUB Kitabından Düz Metin Çıkarma

Açık kaynaklı EpubReader kütüphanesi, yazılım geliştiricilerin C# .NET kodu kullanarak bir EPUB kitabını yüklemelerini ve düz metnini çıkarmalarını sağlar. Bu görevi sorunsuz bir şekilde gerçekleştirebilmek için HtmlAgilityPack NuGet paketini kurmanız gerektiğini lütfen unutmayın. Aşağıdaki örnek, .NET kodunun sadece birkaç satırıyla bütün kitabın düz metnini nasıl çıkaracağınızı gösterir.

C# ile bir EPUB Kitabından Düz Metin Çıkar

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'si ile EPUB Kitabından İçindekiler Tablosu Çıkarma

Açık kaynaklı EpubReader kütüphanesi, yazılım geliştiricilerin bir EPUB Kitabı yüklemesini ve C# .NET kodu kullanarak düz metin çıkarmasını sağlar. Lütfen bu görevi sorunsuz bir şekilde gerçekleştirmek için HtmlAgilityPack NuGet paketini kurmanız gerektiğini unutmayın. Aşağıdaki örnek, sadece birkaç .NET kod satırıyla bütün kitabın düz metnini nasıl çıkaracağınızı gösterir.

.NET API ile EPUB Kitabından İçindekiler Tablosu Nasıl Çıkarılır?

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);
            }
        }
    }
}
 Türkçe