用于出版电子书的开源工具

还没有读者喜欢这篇文章。
Publishing the open source way

Opensource.com

自助出版书籍从未如此简单。 有许多开源工具可供您用来创建书籍

我已经出版了三本电子书,并且正在整理另一本,我了解到在完成书籍写作后,在与世界分享您的书籍之前,还需要做一些事情。

如果您以 EPUB 格式出版您的书籍,您需要检查该书以确保其格式正确。 而且,如果您通过 Amazon.com 的 Kindle 图书馆销售您的书籍,您需要将您的 EPUB 转换为 Kindle 支持的格式。

让我们来看看两种可以帮助您完成这两项任务的工具。

epubcheck

EPUB 文件的结构非常严谨。 它不仅包括章节(由单独的 XHTML 文件组成),还包括这些章节、支持文件(如图像和层叠样式表文件)以及 EPUB 文件内部目录的排列方式。

无论您多么小心,或者您使用什么工具以 EPUB 格式创建或组装书籍,都可能会出现一些错误。 这就是为什么您需要在验证您的书籍后才能发布它。 验证是确保您的 EPUB 书籍包含电子书阅读器期望的所有元素的过程。 像什么? 这是一个部分列表:

  • 完整的元数据
  • EPUB 文件中正确的目录结构
  • 有效的 XHTML
  • 指向 EPUB 文件中文件的工作链接和引用
  • 目录

电子书阅读器通常可以打开未通过验证的 EPUB 文件。 但是,内容可能无法正确呈现,并且导航可能无法工作。

一个名为 epubcheck 的命令行工具使验证变得相当容易。 epubcheck 是一个 Java 应用程序,因此在尝试使用它之前,请确保您的计算机上安装了相当新的 JRE。 如果您不喜欢命令行,请不要担心:还有一个在线验证器可用。

要使用 epubcheck,请运行此命令:

java -jar epubcheck–3.0b5.jar ebook_file.epub

以下是针对部分完成的电子书运行 epubcheck 的结果:

Checking an EPUB with epubcheck

在上面的示例中,各个章节标题的文件名包含空格。 这不是什么大问题,但可能会导致问题。

epubcheck 非常擅长查找问题。 但在许多情况下,它在解释这些问题是什么方面有所欠缺。 epubcheck 假定您具有一定的知识以及修复问题的能力。 情况并非总是如此。

当我认识的一位作家验证一本电子书时,他收到一条错误消息,告诉他某个文件中存在无效的 HTML 语法。 他对 HTML 有一定的了解,并转到 epubcheck 在文件中指向的行号。 他没有发现任何错误。 他寻求我的帮助,我们发现 epubcheck 期望在 blockquote 标签包围的文本周围加上段落标签。

ebook-convert

不管您喜欢还是讨厌它(很多人在这两个极端之间),亚马逊是最大且可以说是最受欢迎的书籍出版、销售和购买市场。 然而,亚马逊使用一种专有格式,扩展名为 .mobi。 除了一个名为 BookType 的基于 Web 的创作和出版工具外,没有任何开源工具可以创建 .mobi 格式的书籍。

您可以使用一个名为 ebook-convert 的命令行工具将您的电子书转换为 .mobi 格式。 它是 calibre 电子书管理软件附带的实用程序套件的一部分。

要将 EPUB 文件转换为 .mobi,请运行以下命令:

ebook-convert ebook_file.epub ebook_file.mobi

根据文件的大小,转换时间将在 5 到 20 秒之间。 以下是当您运行时该工具在命令行中返回的内容:

Converting an EPUB to .mobi

以下是在 calibre 中查看时,转换为 .mobi 格式的 EPUB 的外观:

Viewing the converted .mobi file

我遇到的转换的唯一问题是 ebook-convert 会复制封面页。 除此之外,它在将 EPUB 文件转换为 .mobi 格式方面做得与亚马逊的专有 Kindlegen 转换工具一样好。

完成所有这些步骤后,您就可以与世界分享您的书籍了。

标签
That idiot Scott Nesbitt ...
我是自由/开源软件的长期用户,为乐趣和盈利而写作各种内容。 我并没有把自己看得太严肃,我所有的特技都是自己完成的。

9 条评论

我一直对这样的文章感兴趣,因为我一直在使用自由软件编写故事,并以 CC-BY-SA 许可发布它们。 您可以在这里找到它们 - http://greencomet.org 看看它们是如何随着时间推移而演变的可能会很有趣。

起初,我使用名为 writer2epub 的 LibreOffice 扩展 - http://extensions.services.openoffice.org/en/project/Writer2ePub - 将 ODT 转换为 ePub。 如果您想直接从文字处理器输出,这是一个方便的工具。 不过,最近我一直在使用 Calibre 进行转换,我非常喜欢它。

到目前为止,我还没有必要转换为亚马逊的专有格式,但如果我要走这条路,我肯定会看看您提到的软件。 再次感谢您的文章。

rjb

您可能想看看 Bryan Behrenshausen 的这篇文章。 它详细介绍了 Writer2EPUB,我从中学习到了一些东西。

回复 ,作者:arjaybe (未验证)

我很惊讶 Sigil (https://code.google.com/p/sigil/) 没有出现在列表中。 如果您想直接以 ePub 格式开发您的书籍(而不是以其他格式开发然后再转换),Sigil 是一个不错的起点。 否则,您可以使用它在出版书籍之前检查最后一部分(TOC、封面等)。

PS:我与 Sigil 开发团队没有任何关系,只是一个快乐的用户。

Sigil 曾经在列表上,但由于空间限制而被删减了。 我广泛使用它,并且非常喜欢它附带的 FlightCrew 验证器。

但是,本文不是关于电子书创作工具的。 它是关于用于准备您的电子书以供出版的工具。

回复 ,作者:gurdulilfo

为什么不使用基于 GitBook 的解决方案,而不是使用基于 JAVA 的解决方案?
http://tuxdiary.com/2014/08/16/gitbook/

我的文章创意列表之一(无论是为 Opensource.com 还是我自己的博客)是对 GitBook 的深入研究。 我只需要几个长时段来彻底了解它。

虽然 GitBook 可以将文件保存为 EPUB 或 .mobi,但它是否具有验证器功能?

回复 ,作者:Arun (未验证)

您还应该查看 Booktype。
http://sourcefabric.booktype.pro/booktype-16-for-authors-and-publishers/what-is-booktype/

我已经使用 BookType(及其前身 Booki)编写了三本书,并且可以证明它作为编写和出版书籍的工具非常有用——无论是单个作者,还是多人合作编写一本书。

再次强调,本文不是关于电子书创作工具的。 它是关于用于准备您的电子书以供出版的工具。

回复 ,作者:Magdalena (未验证)

好文章! 个人可以做到这一点以及如何做到这一点的意识仍然很低。 一些评论:
Kindlegen 非常令人沮丧,无法用于 Mobi 转换,而且结果...不稳定! Calibre 可以轻松出色地转换为 Mobi......毫无争议!
Epubcheck 可以使用 GUI 运行,例如 Pagina 的 epubchecker...这非常值得,因为在线检查器需要相当长的时间,有文件大小限制(我相信是 10MB),并且需要互联网访问,而且作者通常根本不习惯 CLI。 追踪成批的错误并且每次都必须重新上传在我看来很愚蠢,因为 CLI 工具可以被包装。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.