Xamarin Forms:如何解析 .epub 文件?

斯里吉斯·斯里

我正在使用EpubReader.Cross NuGet 包来读取 epub 文件。为此,我在主项目中添加了一个示例 .epub 书籍文件,并将构建操作设置为 EmbedResource。根据文档,我尝试解析标题、作者和coverImage 详细信息,如下所示。但细节不正确,请看下面的代码。

我的代码

string fileName = "content.epub";
var assembly = typeof(MainPage).GetTypeInfo().Assembly;
Stream stream = assembly.GetManifestResourceStream($"{assembly.GetName().Name}.{fileName}");
EpubBook epubBook = EpubReader.ReadBook(stream);
// Book's title
string title = epubBook.Title;
Debug.WriteLine("title:>>"+title);
// Book's authors (comma separated list)
string author = epubBook.Author;
Debug.WriteLine("author:>>" + author);
// Book's authors (list of authors names)
List<string> authors = epubBook.AuthorList;
Debug.WriteLine("authors:>>" + authors.Count);
// Book's cover image (null if there is no cover)
byte[] coverImage = epubBook.CoverImage;
Debug.WriteLine("coverImage:>>" + coverImage);

输出

[0:] title:>>be023aa39d417e1493850a0b9de6220c
[0:] author:>>Unknown
[0:] authors:>>1
[0:] coverImage:>>

我认为问题在于读取项目中添加的 .epub 文件。我的 .epub 文件是通过转换 .opf 文件生成的,这是问题的原因吗?

卢卡斯张

在您的情况下,问题不是由您的代码或插件引起的。EPUB 文件是以 EPUB 格式保存的数字电子书,这是一种用于数字图书和出版物的基于 XML 的开放格式。

某些 ePUB 文件在创建时不包含完整信息。你可以先在你的电脑里查一下

在 Windows 中,它可以通过Adobe Digital EditionsMicrosoft Edge打开

在 MacOS 中,它可以通过Apple PagesApple Books打开

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章