跳转到主要内容

Project Gutenberg工具,用于生成EPUB和其他电子书格式。

项目描述

Ebookmaker

Ebookmaker是Project Gutenberg用于格式转换的工具。它可以从HTML构建HTML5、EPUB2、EPUB3和Kindle文件(包括KF8),还可以从reST源构建这些格式和PDF文件。

如果您正在为Ebookmaker准备HTML文件,那么使用说明可能会对您有所帮助。

先决条件

  • Python3 >= 3.7

仅用于Kindle生成

仅用于验证

  • EpubCheck(用于EPUB验证)要使用EPUBCheck验证,请首先从https://www.w3.org/publishing/epubcheck/下载并安装EPUBCheck。如果调用它的命令是java -jar /Applications/epubcheck-4.2.6/epubcheck.jar,则将此行添加到~/.ebookmaker或/etc/ebookmaker.conf中:epub_validator: java -jar /Applications/epubcheck-4.2.6/epubcheck.jar,然后通过将--validate添加到Ebookmaker的命令行调用或通过在~/.ebookmaker中将validate设置为true来开启验证。
  • W3C "Nu"验证器(用于HTML5验证)https://validator.github.io/validator/将此行添加到~/.ebookmaker或/etc/ebookmaker.conf中:html_validator: [您的安装路径]/vnu-runtime-image/bin/vnu,然后通过将--validate添加到Ebookmaker的命令行调用或通过在~/.ebookmaker中将validate设置为true来开启验证。
  • 在MacOS上,您可能需要创建安全例外。在我的系统中,我必须执行sudo xattr -r -d com.apple.quarantine /Users/eric/vnu-runtime-image/lib

仅用于封面生成

  • Cairo https://www.cairographics.org/download/
  • Noto Sans和Noto Sans CJK
    • CentOS或RedHat:yum install google-noto-sans-cjk-fonts; yum install google-noto-sans-fonts
    • Ubuntu:apt-get install fonts-noto-cjk fonts-noto

仅用于从RST转换

与Python 3.8进行了测试

安装

(主分支,可编辑安装)pipenv install ebookmaker

使用ebookmaker.conf文件传递到您的kindlegen、tex和groff程序的路径,如果它们不在您的PATH中。编辑ebookmaker.conf并将其复制到/etc/ebookmaker.conf以重置路径。将ebookmaker.conf复制到~/.ebookmaker以覆盖/etc/ebookmaker.conf中的设置或设置默认命令行选项。

示例调用

(从您运行pipenv install的目录)

pipenv shell ebookmaker -v -v --make=epub.images --output-dir=/Documents/pg /Documents/library/58669/58669-h/58669-h.htm

或者

pipenv run ebookmaker -v -v --make=epub.images --output-dir=/Documents/pg /Documents/library/58669/58669-h/58669-h.htm

您是pipenv新手吗?

安装pipenv(可能是pip install --user pipenv,具体取决于您的默认Python)

$ pip3 install --user pipenv

默认安装位置是${HOME}/.local/bin,如果需要,请将其添加到登录shell的${PATH}中。

更改目录到您想要创建ebookmaker环境的位置。然后,要初始化Python 3虚拟环境,请执行

$ pipenv --three

每当您想要进入此环境时,请移动到该目录并执行

$ pipenv shell

安装gutenberg模块

$ pipenv install ebookmaker

检查您的安装

$ ebookmaker --version EbookMaker 0.12.0

由于您在shell中,您可以导航到一本书的目录并转换它

$ ebookmaker -v -v --make=epub.images --ebook 10001 --title "The Luck of the Kid" --author "Ridgwell Cullum" luck-kid.html

更新

$ cd ebookmaker 切换到您运行 $ pipenv install ebookmaker 的位置。

然后

运行 $ pipenv update ebookmaker

测试

按照上述方法安装。

$ cd ebookmaker 切换到您运行 $ pip install ebookmaker 的位置。

然后

运行 $ git checkout master

运行 $ pipenv install -e .

运行 $ python setup.py test

Travis-CI 将在 gutenbergtools org 提交的分支上运行测试。

在 Windows 机器上运行 Ebookmaker 的说明(改编自 @windymilla)

  1. 从 python.org 安装 Python 3.7+。安装 Kindlegen。将其添加到路径中。
  2. 添加系统环境变量:右键单击“我的电脑”,然后属性,然后高级,然后环境变量,然后新建。变量名设置为 PYTHON_HOME,并将其设置为 Python 文件夹。
  3. 编辑 Path 变量,并在其末尾添加 ;%PYTHON_HOME%\;%PYTHON_HOME%\Scripts\
  4. 通过在新的命令窗口中输入 python 来检查。它应该运行您的 Python 版本。使用 ^Z & Enter 退出 python。
  5. 在命令窗口中,输入 pip3 install --user pipenv。脚本可能会警告它已将脚本放入如 C:\Users\myname\AppData\Roaming\Python\Python37\Scripts 这样的文件夹中,并要求将其添加到 Path 环境变量中。这样做——不要忘记新文件夹名前的分号!(可能只需将新安装的文件从安装位置复制到主 Python 脚本文件夹中,例如 %PYTHON_HOME%\Scripts?)
  6. 关闭旧命令窗口并启动一个新的(以获取新的路径)
  7. 为 ebookmaker 创建一个文件夹,例如 C:\DP\ebookmaker
  8. 在命令窗口中,转到新文件夹
  9. 输入 pipenv install ebookmaker —— 安装需要一段时间。它还会创建一个“虚拟环境”,有一个新文件夹,例如 C:\Users\myname\.virtualenvs\ebookmaker-cgaQuYhi
  10. (可选——仅当您需要 ebookmaker 为您创建封面,而您未提供封面时)下载 GTK+ 以获取 Cairo。预编译的 Win32 二进制文件在此:[http://ftp.gnome.org/pub/gnome/binaries](http://ftp.gnome.org/pub/gnome/binaries) ... _win32.zip 将其解压到文件夹中,例如 C:\DP\gtk,并将 C:\DP\gtk\bin 添加到 Path 环境变量中。退出命令窗口并启动一个新的来获取新的路径。转到 ebookmaker 文件夹,C:\DP\ebookmaker
  11. 使用 pipenv run python ebookmaker --version 检查 ebookmaker 版本。如果不起作用(应该会,但我们没有成功)尝试
    • 查看 C:\Users\myname\.virtualenvs\ 并找到您的虚拟环境名称——它应该是类似于 ebookmaker-cgaQuYhi 的东西
    • 使用 pipenv run python C:\Users\myname\.virtualenvs\<name of virtualenv>\Scripts\ebookmaker --version 检查 ebookmaker 版本。
  12. (现在 Cairo 是可选的,不应发生)如果有类似找不到“cairo”或“cairo-2”的错误,检查您的 libcairo 和 libcairo-2 路径是否存在。如果它们存在,编辑 cairocffi 软件包中的 init.py 中的 dlopen。直接返回 ctypes.util.find_library 找到的路径,而不是调用 ffi.dlopen(path)。
  13. 如果文件夹/文件名包含空格,路径名必须用 " 括起来,例如 --output-dir="C:\your foldername"。如果路径名用引号括起来,它绝不能以尾随的 \ 结尾,否则将引发错误。如果在 Guiguts 中运行 bat 文件,这意味着您应该使用 $d. 而不是 $d(即 $d 后跟一个点,这样引号括起来的路径名将以 \." 结尾而不是 \")作为 output-dir 参数的值。
  14. 用于 Guiguts 的示例 run_ebookmaker.bat 文件:cd C:\DP\ebookmaker pipenv run python C:\Users\myname.virtualenvs\ebookmaker-cgaQuYhi\Scripts\ebookmaker -v --make=epub.images --make=kindle.images --output-dir=%1 --title=%2 %3
  15. Guiguts 中的对应“外部程序”设置:c:\dp\ebookmaker\run_ebookmaker.bat $d. $f $d$f$e

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源分布

ebookmaker-0.12.47.tar.gz (214.5 kB 查看散列值)

上传于 来源

由以下支持