Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于扫描PDF的目录页_Pdf_Scanning - Fatal编程技术网

用于扫描PDF的目录页

用于扫描PDF的目录页,pdf,scanning,Pdf,Scanning,最近我收到了一些非常古老但非常有用的手写笔记,为了保存它们,我把它们扫描成PDF格式的文件。我有一个35页的PDF,但我想在开头添加一个内容页,这样我就可以使用第一页点击我的方式找到一个特定的主题 更准确地说,, 我想要一页写着 专题1 专题2 专题3 每一个都应该链接到我选择的页面 我已经探索了很多标准工具来帮助我解决这个问题,比如LibreOffice、pdftk等。但是解决方案似乎不是简单的应用程序和几次点击。我的直觉是,这将需要一个用合适的语言编写的程序。我希望该计划的工作方式如下:

最近我收到了一些非常古老但非常有用的手写笔记,为了保存它们,我把它们扫描成PDF格式的文件。我有一个35页的PDF,但我想在开头添加一个内容页,这样我就可以使用第一页点击我的方式找到一个特定的主题

更准确地说,, 我想要一页写着

专题1

专题2

专题3

每一个都应该链接到我选择的页面

我已经探索了很多标准工具来帮助我解决这个问题,比如LibreOffice、pdftk等。但是解决方案似乎不是简单的应用程序和几次点击。我的直觉是,这将需要一个用合适的语言编写的程序。我希望该计划的工作方式如下:

ProgramName Input.pdf CustomTOC.txt

其中CustomTOC.txt可以是包含两列的简单ASCII表,一列为标题,第二列为页码。此程序的输出将是另一个PDF文件,其中包含一个附加在Input.PDF开头的页面,包含一个目录,其中包含指向正确页面的超链接。

我已设法解决了此问题,但我认为这不是最好的方法。我编写了一个Python程序,它接受两个强制输入—输入PDF文件和包含列和页码的“|”分隔ASCII表。第三个可选输出可以是包含输出的PDF文件的名称。如果未提供,则重写原始输入文件

代码如何工作?使用对“pdftk”的系统调用将PDF文件压缩到其组成页面中。写入一个.tex文件,该文件包含用于第一页的\listoffigures命令,其中包含程序包hyperref,确保它链接到图形。.tex代码的后面部分包含几个图插入语句,其中插入了与每个页面对应的PDF文件,仅为那些在提供的TOC表中有条目的PDF提供标题

为什么代码不理想?它依赖太多依赖项。它依赖于对pdftk包的系统调用,它要求LaTeX也与图形包一起安装在机器上。在当前版本的代码中,每个页面上的PDF都有一些偏移量,我正在尝试使用带有自定义边距设置的geometry软件包来解决这些偏移量。一旦这个问题解决了,我将尝试发布代码


更理想的解决方案。不需要LaTeX,并且可以使用Python中的一些PDF库来实现相同的效果。欢迎提出意见和建议

这与编程有什么关系?如果这只是你想用标准软件做的事情,请在另一个论坛(比如superuser.com)上询问。我搜索了很多标准工具,但没有找到任何答案。我强烈怀疑答案将以Python或类似语言编写的自定义程序的形式出现。是的,我确实理解这个问题似乎与编程无关,就像我设计它的方式一样。现在,我正在开发一个包含Python脚本的解决方案,一旦完成,我将发布它。也许在此之前或之后,这里的人可能想提供更优雅的解决方案。忘记添加,如果您确实觉得这个问题不属于这里,我可以将其标记为删除。否则,我可以张贴我的解决方案,一旦我完成了。请让我知道。如果你想保持它在这里,我觉得它需要更多地与编程相关(但我不是这里的所有者:-))。如果您将其标记为python问题,然后用这些术语将问题具体化,我会很好。就目前情况而言,我真的觉得它应该在其他地方结束。