1

我已经阅读了有关 ePub 格式、标准、结构、阅读器、工具和可用的开发人员技术来操作/转换/创建 ePub,但是(到目前为止)还没有一个神奇的功能来提取特定长度的字符来创建该书的摘录。这正是我正在寻找的:一种提取 ePub 的前 X 个单词的方法。

  • 我正在考虑的第一种方法(不是我最喜欢的顺便说一句)是创建一个解析器来读取所有 ePub 元数据并开始以正确的顺序解析 xml 文件,直到我有足够的单词来创建确定的 ePub 的摘录(我将不胜感激这个方向的一些反馈)

  • 第二种方式(到目前为止我找不到)是一个现有的工具/函数或解析器(任何语言),它(希望)返回 ePub 的纯文本,这样我就可以收集前 X 个单词以创建我的摘抄。

你知道有什么工具可以帮助我实现第二种选择吗?

4

2 回答 2

1

你应该看看 Apache Tika:http ://tika.apache.org/ 你可以从命令行使用它,或者作为一个 java 库,甚至在服务器模式下从 ePub 中提取文本。希望这会有所帮助,F.

于 2013-06-16T21:26:34.207 回答
0

何塞,我不知道有任何工具可以做你想做的事。不过,让我评论一下您的第一种方法。如果你确实找到了一个工具,我希望这些评论能让你评估它。

我认为你的方法很好,如果你想做好创建提取的工作,你可能还是想拥有这一步。我建议你,

  • 获取 OPF 文件并查找 GUIDE 部分。如果存在 GUIDE 部分,请检查给定的类型。有些可能与摘录无关(封面、标题页、版权页)。许多书籍不会明确说明类型,但这应该有助于它们的类型。
  • 现在按顺序浏览 SPINE 部分中的文件,排除任何不相关的内容,并阅读足够多的 XHTML 文件以获取摘录。
  • 而在 OPF 文件中,如果这与摘录相关,则获取一堆元数据(标题、创建者、日期是强制性的,我认为,一些作者还会放入一大堆其他元数据,例如关键字)。

如果您正在使用此摘录创建一个迷你 EPUB,您将需要选择在用于制作摘录的 XHTML 文件中引用的任何 CSS、音频、视频、图像和自定义字体文件。您甚至可以选择使用原始封面文件作为摘录 epub 的封面文件。

如果您使用带有朗读等有趣内容的固定版式书籍,并且您想创建一个迷你 EPUB 作为摘录,那么您最好使用页数而不是字数。不要忘记在您的摘录中包含任何 SMIL 文件并使其看起来不错:(i) 不要拆分两页的跨页和 (ii) 如果原始页面为奇数,请确保第一页是奇数页或者即使在原件中编号为偶数 - 为此您可能需要添加一个空白填充页(奇数/偶数错误,随后的两页跨页不会彼此面对)

我希望这会有所帮助。

于 2012-06-05T07:23:10.923 回答