【发布时间】:2021-12-29 05:30:56
【问题描述】:
我正在尝试创建可用于离线查找的 Kindle 词典。我已经知道了单词和它们的变形,但是把它变成一本有效的字典是很困难的。
亚马逊提供了一些关于此的documentation。它基本上说你应该:
- 创建一个带有特殊标记的 XHTML 文件,指定所有变形等。
- 把它变成一个 epub
- 用 Kindle Previewer 打开它
- 使用 Kindle Previewer 将其导出到 MOBI
所以我根据亚马逊的规范创建了一个大的 XHTML 文件(23 MB 左右)并在 Kindle Previewer 中打开它,它看起来很好。但是,Kindle Previewer 不允许您将 XHTML 文件导出到 MOBI。他们希望您创建一个中间 epub 文件。
我尝试使用 Pandoc 进行转换,但没有成功,因为它去掉了所有特定的 HTML 标记,只保留在段落中。然后我尝试使用口径。根据错误消息,由于 XHTML 文件太大,正常的 XHTML -> epub 转换失败。如果遇到此错误,Calibre 建议打开“启发式模式”,我尝试过,但运行数小时后仍未完成运行。
然后我尝试使用从this tutorial 获取的示例文件自己创建 epub 文件。我发现这不是微不足道的,使用epubcheck 的检查在我生成的文件中发现了许多难以理解的错误。 epub 文件的生成也有点复杂,因为您可能需要将 XHTML 文件拆分为许多较小的文件,这些文件的大小应该是 250 kb,因为电子阅读器往往难以解析较大的文件。
所以我认为应该有一种更简单的方法来做到这一点,或者可能有一个库可以帮助做到这一点。也许将单词 + 变形输出到其他更简单的字典格式,然后使用现有库将其转换为 MOBI 并完全省略 XHTML 生成,这甚至是一个好主意。目前我正在使用 Python,但如果有必要,我也会使用其他语言。我可以尝试什么?
编辑:添加到我尝试过的东西:有一个显然是封闭源脚本here,不幸的是它不支持变形,所以不起作用。并且有说明 here 建议使用 Mobipocket Creator 将文件转换为 PRC,然后使用 Kindle Previewer 打开它。这种方法的问题是 Kindle Previewer 会抛出错误:
Kindle Previewer 不支持此文件,该文件是使用旧版 KindleGen 或第三方应用程序创建的。我们建议直接使用 EPUB 或 DOCX 格式在 Kindle 上预览和发布您的图书。
Mobipocket Creator here 还有更详细的说明,告诉你直接将生成的.prc 文件移动到kindle 上。我试过了,但它没有被识别为字典。
【问题讨论】:
-
我认为 calibre 应该可以实现,但如果这不起作用,那么也许您可以使用网站 goodreads 创建一个库。在某些国家/地区,亚马逊可以直接链接到 goodreads。 help.goodreads.com/s/article/How-do-I-import-my-Amazon-books 如果这不可能,您可以手动添加书籍或尝试从亚马逊创建一个可以导入的文件。
-
@Klaus 不幸的是,据我所知,它似乎不支持导入 XHTML 文件。
标签: python epub kindle calibre