【问题标题】:Xamarin Forms: How to parse an .epub file?Xamarin Forms:如何解析 .epub 文件?
【发布时间】:2020-07-02 08:19:35
【问题描述】:

我正在使用EpubReader.Cross NuGet 包来读取 epub 文件。为此,我在我的主项目中添加了一个示例 .epub book 文件,并将 Build Action 设置为 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 工具测试过您转换后的文件?您是否尝试过使用多个 epub 来测试您的应用?

标签: xamarin.forms epub


【解决方案1】:

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

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

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-02
  • 1970-01-01
  • 2015-03-05
相关资源
最近更新 更多