1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System.Collections.Generic;
- using System.Drawing;
- using System.IO;
- using System.Linq;
- using VersOne.Epub;
- namespace GxPress.Common.Epub
- {
- /// <summary>
- /// 分析Epub
- /// </summary>
- public static class Analysis
- {
-
- /// <summary>
- /// 加工制造
- /// </summary>
- public static void ProcessMake()
- {
- // var url = "https://apk.tederen.com/service/cache/20200525/7682915b9dc44f8e98781ddd839291a9.epub";
- // FileStream fs = new FileStream(url, FileMode.Open, FileAccess.Read);
- // // 读取文件的 byte[]
- // byte[] bytes = new byte[fs.Length];
- // fs.Read(bytes, 0, bytes.Length);
- // fs.Close();
- // // 把 byte[] 转换成 Stream
- // Stream stream = new MemoryStream(bytes);
- //获取
- EpubBook epubBook = EpubReader.ReadBook("wwwroot/cache/20200529/e875998ea9e3407888d93f9060a4154a.epub");
- //标题
- string title = epubBook.Title;
- //作者
- string author = epubBook.Author;
- //作者集合
- List<string> authors = epubBook.AuthorList;
- //获取图片封面
- // byte[] coverImageContent = epubBook.CoverImage;
- // if (coverImageContent != null)
- // {
- // using (MemoryStream coverImageStream = new MemoryStream(coverImageContent))
- // {
- // Image coverImage = Image.FromStream(coverImageStream);
- // }
- // }
- // 目录
- //列举章节
- foreach (EpubNavigationItem chapter in epubBook.Navigation)
- {
- //本章标题
- string chapterTitle = chapter.Title;
- //嵌套章节
- List<EpubNavigationItem> subChapters = chapter.NestedItems;
- }
- //阅读顺序
- //按照阅读顺序枚举本书的全文内容
- foreach (EpubTextContentFile textContentFile in epubBook.ReadingOrder)
- {
- //当前文本内容文件的HTML
- string htmlContent = textContentFile.Content;
- }
- //内容
- //书籍的内容(HTML文件,手写板,图像,字体等)
- EpubContent bookContent = epubBook.Content;
- // 图片
- //书中的所有图片(文件名是关键)
- Dictionary<string, EpubByteContentFile> images = bookContent.Images;
- EpubByteContentFile firstImage = images.Values.First();
- //内容类型(例如EpubContentType.IMAGE_JPEG,EpubContentType.IMAGE_PNG)
- EpubContentType contentType = firstImage.ContentType;
- // MIME类型(例如“ image / jpeg”,“ image / png”)
- string mimeType = firstImage.ContentMimeType;
- // 从内容创建Image类实例
- using (MemoryStream imageStream = new MemoryStream(firstImage.Content))
- {
- Image image = Image.FromStream(imageStream);
- }
- }
- }
- }
|