按照标准,链接隐藏在注释中(规范中的第 12.5.6.5 节)。从那里提取地址很容易: 使用 Python 或其他方法从 PDF 中提取指向另一个 PDF 中页面的链接 但通常链接的呈现方式不像文档中的特殊对象,而是纯文本形式,如“ http://blah-blah. com ”。如何不仅从注释中提取链接,而且从文本本身提取链接?我可以搜索整个文本并找到像“http://”这样的词,但是有没有更好的解决方案? PDF 编辑器也会高亮显示文本链接,他们怎么知道这段文本是超链接?
原文由 m9_psy 发布,翻译遵循 CC BY-SA 4.0 许可协议
我刚刚制作了
pdfx
,一个专门用于这项工作的小工具:从给定的 PDF 下载所有 PDF。它是用 Python 编写的,并在 GPLv3 许可下作为 开源 发布: http ://www.metachris.com/pdfx您可以使用
pdfx
工具来显示所有 PDF URL,所有 URL(带有-v
),以及下载所有引用的 PDF(使用-d
):您可以使用
$ easy_install -U pdfx
安装它。在幕后,pdfx 使用 PyPDF2 ,一个 Python 库来读取 PDF 内容,然后使用 正则表达式来匹配所有 url 。