Xamarin Forms:如何解析 .epub 文件?
Xamarin Forms: How to parse an .epub file?
我正在使用 EpubReader.Cross NuGet 包来读取 epub 文件。为此,我在我的主项目中添加了一个示例 .epub 书籍文件,并将构建操作设置为 EmbedResource。根据文档,我尝试解析标题、作者和封面图像的详细信息,如下所示。但细节不正确,请看下面的代码。
我的代码
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 格式是一种基于 XML 的开放格式,适用于数字书籍和出版物。
有些 ePUB 文件在创建时不包含完整信息。你可以先在电脑上查看一下
在Windows中,可以用Adobe Digital Editions或Microsoft Edge打开。
在 MacOS 中,可以通过 Apple Pages 或 Apple Books 打开。
我正在使用 EpubReader.Cross NuGet 包来读取 epub 文件。为此,我在我的主项目中添加了一个示例 .epub 书籍文件,并将构建操作设置为 EmbedResource。根据文档,我尝试解析标题、作者和封面图像的详细信息,如下所示。但细节不正确,请看下面的代码。
我的代码
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 格式是一种基于 XML 的开放格式,适用于数字书籍和出版物。
有些 ePUB 文件在创建时不包含完整信息。你可以先在电脑上查看一下
在Windows中,可以用Adobe Digital Editions或Microsoft Edge打开。
在 MacOS 中,可以通过 Apple Pages 或 Apple Books 打开。