EpubCore 1.6.1
dotnet add package EpubCore --version 1.6.1
NuGet\Install-Package EpubCore -Version 1.6.1
<PackageReference Include="EpubCore" Version="1.6.1" />
paket add EpubCore --version 1.6.1
#r "nuget: EpubCore, 1.6.1"
// Install EpubCore as a Cake Addin #addin nuget:?package=EpubCore&version=1.6.1 // Install EpubCore as a Cake Tool #tool nuget:?package=EpubCore&version=1.6.1
EpubCore
.NET 6 / .NET Standard 2.0 library and tools for reading, writing and manipulating EPUB files.
Supported EPUB versions: 2.0, 3.0, 3.1
Installation
Install-Package EpubCore
Supported Frameworks
.NET6.0
, NETSTANDARD2.0
Usage
Reading an EPUB
// Read an epub file
EpubBook book = EpubReader.Read("my.epub");
// Read metadata
string title = book.Title;
string[] authors = book.Authors;
Image cover = book.CoverImage;
// Get table of contents
ICollection<EpubChapter> chapters = book.TableOfContents;
// Get contained files
ICollection<EpubTextFile> html = book.Resources.Html;
ICollection<EpubTextFile> css = book.Resources.Css;
ICollection<EpubByteFile> images = book.Resources.Images;
ICollection<EpubByteFile> fonts = book.Resources.Fonts;
// Convert to plain text
string text = book.ToPlainText();
// Access internal EPUB format specific data structures.
EpubFormat format = book.Format;
OcfDocument ocf = format.Ocf;
OpfDocument opf = format.Opf;
NcxDocument ncx = format.Ncx;
NavDocument nav = format.Nav;
// Create an EPUB
EpubWriter.Write(book, "new.epub");
Writing an EPUB
EpubWriter writer = new EpubWriter();
writer.AddAuthor("Foo Bar");
writer.SetCover(imgData, ImageFormat.Png);
writer.Write("new.epub");
Epub Book Builder
Use the fluent EpubBookBuilder to create your Epub. Much cleaner syntax and easier to understand.
var pathToSaveEPub = "~/myepub.epub";
var uniqueIdentifier = Guid.NewGuid().ToString();
var title = "The Title of my EBook";
var author = "Domingo Ladron";
var builder = EpubBookBuilder.Create();
builder
.WithTitle(title)
.WithUniqueIdentifier(UniqueIdentifier)
.AddAuthor(author)
.AddChapter("Chapter 1", "<html><body><h1>It was a dark and stormy night.</h1></body></html>")
.Build(pathToSaveEPub);
EpubCore CLI
As of 1.6.0, I've released a simple but effective epub CLI. This allows you to manipulate Epub files from the command line without needing to do any coding.
For complete details on installing and using the epub
CLI, you can get details here
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Adding logic to handle x-application font mime types