用于准备电子书以供发布的开源工具

尚无读者喜欢这篇文章。
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 中查看时,转换为 .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、封面等)。

附言:我与 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.