如何用.net(c#)读取epub格式文件
epub格式是印刷出版界常见的格式,本格式遵循XML原则把网页进行压缩打包。
如何用c#读取epub格式文件是个头疼的问题,本人搜遍各大网站,发现介绍都语焉不详。
因项目中要用的此功能,特做案例整理如下,仅供参考。
// 动态库下载地址 https://epubreader.codeplex.com/,添加引用eBdb.EpubReader.dll
// 头部增加引用
using eBdb.EpubReader;
string fullfile = @"E:\佛学资料\EPUB\般若秒瓶.epub" ;
Epub epub = new Epub(@fullfile);
//Get book title (Every epub file can have multiple titles)
// 获取epub文章标题
string title = epub.Title[0];
//Get book authors (Every epub file can have multiple authors)
// 获取作者
string author = epub.Creator[0];
//Get all book content as plain text
// 以纯文本格式获取图书内容
string plainText = epub.GetContentAsPlainText();
//Get all book content as html text
// 以html 格式获取图书内容
string htmlText = epub.GetContentAsHtml();
//Get Table Of Contents (TOC)
// 获取目录
List<NavPoint> navPoints = epub.TOC;
//获取目录数量
int cnt = navPoints.Count;
//获取目录序号
int j=1;
// 获取目录标题
string contenttitle = navPoints[j].Title.ToString();
// 获取子目录标题(假设有子目录)
string childtitle = navPoints[j].Children[0].Title.ToString();
//Get some part of book content
// 获得部分文章章节,序号是把大小目录在一起排序的
/*
一、解义慧剑释 0
* 1、第一课 1
* 2、第二课 2
*/
ContentData contentData = epub.Content[j] as ContentData;
//获取目录内容(默认只取第一级目录)
// 获取文本格式内容
string content_plaintext =
navPoints[j].ContentData.GetContentAsPlainText().ToString();
//获取HTML格式内容
string content_html =
navPoints[j].ContentData.Content.ToString();