用于准备电子书以供出版的开源工具

尚无读者喜欢这篇文章。
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 的基于网络的创作和出版工具之外,没有任何开源工具可以创建 .mobi 格式的书籍。

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

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

ebook-convert ebook_file.epub ebook_file.mobi

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

Converting an EPUB to .mobi

这是在 calibre 中查看时,EPUB 转换为 .mobi 的样子

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、封面等)。

附言:我与 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 可以使用像 Pagina 的 epubchecker 这样的 GUI 运行……这很值得,因为在线检查器需要相当长的时间,有文件大小限制(我相信是 10MB),并且需要互联网访问,而且作者通常根本不习惯 CLI。考虑到 CLI 工具可以被包装,跟踪批量的错误并每次都必须重新上传在我看来很愚蠢。

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