PdfMasher--电子书转换
如果您在各种设备(如手机)上阅读 PDF 文件时遇到问题,PdfMasher 可能正是您所需要的。根据网站介绍
PdfMasher 是一款将包含文本的 PDF 文件转换为可用于电子书的 HTML 文件的工具。大多数电子书阅读器都原生支持 PDF 文件,但阅读这些文档通常很痛苦,因为我们无法像使用原生电子书那样控制文档的字体大小。在许多情况下,我们必须使用缩放功能,这真的很麻烦。PDF 在电子书阅读器上的另一个缺点是不支持注释。
已经有一些工具可以将 PDF 转换为电子书,例如 Calibre,但它们所做的是尝试猜测 PDF 中每段文本的角色(如果您幸运的话)。我认为,在所有但最简单的情况下,认为任何低于人工智能水平的技术都能做到这种猜测都是错误的。

使用 PdfMasher,可以手动操作此类 PDF 文件,以转换为其他格式。

左侧显示原始 PDF,右侧显示输出的 HTML,现在可以在任何设备上阅读这本电子书,而不会出现可读性问题。
安装
如果可以通过二进制文件安装,请务必这样做。该网站提供适用于常见的 Intel x86 架构的 32 位和 64 位 Linux .deb 软件包。对于受虐狂或没有基于 Intel 的 CPU 的用户,还有必备的源代码。
为了获取最新的源代码,首先您需要安装 hg,在我的 Kubuntu 系统上,它的软件包名称是“mercurial”。安装完成后,输入以下命令获取最新源代码
$ hg clone https://bitbucket.org/hsoft/pdfmasher
下载完成后,保持此终端打开,因为接下来您需要解决库依赖关系,然后您将返回此终端并继续安装。关于依赖项,文档列出了以下内容
-
Python 3.2 https://pythonlang.cn
-
pdfminer3k http://hg.hardcoded.net/pdfminer3k
-
jobprogress 1.0.0 http://hg.hardcoded.net/jobprogress
-
Sphinx 1.0.7 https://sphinx-doc.cn
-
pytest 2.0.3 用于运行单元测试 https://pytest.cn
-
Markdown 2.0.3 http://www.freewisdom.org/projects/python-markdown
-
PyQt 4.7.5 http://www.riverbankcomputing.co.uk/news
解决依赖项后,重新打开之前的终端并输入以下命令
$ cd pdfmasher
$ python configure.py
$ python build.py
然后,使用以下命令运行程序
$ python run.py
如果您足够幸运地安装了二进制文件,则只需使用以下命令运行程序
$ pdfmasher
用法
在尝试自己解释如何使用 PdfMasher 之前,我应该包含以下来自网站的内容
PdfMasher 会询问用户每段文本的角色,并以高效的方式完成。您的 PDF 每页都有页眉,您不希望它们弄乱您的文本?按 Y 轴位置对文本元素进行排序(从而将它们全部组合在一起);Shift+选择元素并将它们标记为忽略。它们不会出现在您的最终 HTML 中。您的 PDF 在许多页面上都有脚注?按文本内容对元素进行排序(从而将所有以数字开头的文本元素分组在一起)并将它们标记为脚注。它们将被移动到文档末尾,并且 PdfMasher 将尝试创建指向脚注参考的超链接。
在 PdfMasher 中更改内容之前,我建议将您的 PDF 在另一个程序中打开在一侧,以便您可以在剔除部分时交叉检查文本片段。当您准备好开始时,单击“打开文件”并选择您要“mash”的 PDF。
打开后,下面的窗格会以一种乍一看令人不知所措且难以理解的方式填充。但是,在非常基本的层面上,每一行都是 PDF 中的一段文本。如果您浏览每一行,您可以检查正在检查 PDF 的哪个部分,如果它是冗余的,您可以选择在转换中忽略它。
详细查看这些 PdfMasher 行,每一行都有 X 和 Y 轴参考,以及字体大小、文本长度和页码。无论何时您单击一行,其在 PDF 中的部分的完整文本内容都会显示在下面的窗格中。
如果您已决定要删除哪些部分,请单击“忽略”以从最终产品中删除文本。单击“正常”以恢复文本以包含在内。根据您将在哪个设备上阅读生成的电子书,页眉和页脚信息可能是您想要从页面中删除的内容。
例如,在屏幕截图中,我正在删除心理学论文中的开头参考文献和页眉,否则如果我将其翻译成我可以在手机上阅读的内容,将会留下难以导航、混乱不堪的局面。
但是,如果您准备的内容旨在作为公共网页而不是精简的电子书,您可能需要使用“标题”和“脚注”按钮。“标题”将在输出的 HTML 中生成 H1 标题页眉。“脚注”按钮会将文本移动到文档底部,并且 PdfMasher 将尝试创建前面提到的酷炫超链接之一。
完成文档编辑后,单击下面的“构建”选项卡,然后单击“生成 Markdown”按钮。原始文本文件将在与原始 PDF 相同的文件夹中生成。单击“显示 Markdown”,源文件夹将在您的默认文件管理器中打开。“编辑 Markdown”将在您的默认文本编辑器中打开实际的文本文件,“查看 HTML”将在 Web 浏览器中显示最终产品。
如果您犯了任何错误,输出将很快显示出来,您可以返回并简单地重新开始构建过程。从这里,您可以保持输出原样,也可以将文件转换为特定的电子书格式。
无论哪种方式,PdfMasher 都使用一些非常简单的方法来创建非常巧妙的东西,并且是任何 नियमित 电子书阅读器的必备工具。