我最近获得了一些非常古老但非常有用的手写笔记,为了保存它们,我将它们扫描成PDF格式的文件。我所拥有的是一个35页的PDF,但我想在开头添加一个内容页面,以便我可以使用第一页单击我对特定主题的方式。
更确切地说, 我想要一个说
的页面主题1
主题2
主题3 ...
每一个都应链接到我选择的页面。
我已经探索了很多标准工具来帮助我解决这个问题,比如LibreOffice,pdftk等,但解决方案似乎并不是简单的应用程序和点击几下。我的预感是,这需要一个用合适的语言编写的程序。我希望这个程序的工作方式如下:
ProgramName Input.pdf CustomTOC.txt
其中CustomTOC.txt可以是包含两列的简单ASCII表,一列是标题,第二列是页码。该程序的输出将是另一个PDF文件,其中包含一个附加在Input.pdf开头的页面,其中包含一个带有指向右页的超链接的目录。
答案 0 :(得分:0)
我设法解决了这个问题,虽然我不认为这是最好的方法。我编写了一个Python程序,接受两个必需的输入 - 输入PDF文件和'|'分隔的ASCII表,包含列和页码。第三个可选输出可以是包含输出的PDF文件的名称。如果未提供,则重写原始输入文件。
代码如何工作 ?使用系统调用'pdftk'将PDF文件分解为其组成页面。写一个.tex文件,其中包含第一页的\ listoffigures命令,包含hyperref,确保它链接到数字。 .tex代码的后半部分包含几个图形插入语句,其中插入了与每个页面对应的PDF文件,仅为那些在提供的TOC表中有条目的PDF提供标题。
为什么代码不理想? 它依赖于太多的依赖项。它依赖于对pdftk包的系统调用,它要求LaTeX也安装在带有图形包的机器上。在当前版本的代码中,每个页面上的PDF都有一些偏移,我试图使用具有自定义边距设置的几何包来解决。一旦这个问题解决了,我会尝试发布代码。
更理想的解决方案。 不需要LaTeX并且可以在Python中使用某些PDF库来实现相同的效果。欢迎提出意见和建议!