按照标准,链接隐藏在注释中(规范第12.5.6.5节)。从那里提取地址很容易:Extracting links to pages in another PDF from PDF using Python or other method 但链接通常不是像文档中的特殊对象那样显示的,而是像“http://blah-blah.com”这样的纯文本。如何不仅从注释中提取链接,而且从文本本身提取链接?我可以搜索整个文本并找到像“http://”这样的单词,但是有没有更好的解决方案?PDF编辑器也在突出显示文本链接,他们怎么知道这段文本是超链接?
遗憾的是,url不是作为注释保存的,而是简单地嵌入到内容文本中,在pdf中没有特殊的可见性。除了搜索PDF的完整文本和匹配url的模式之外,没有其他解决方案。
字符串“somePDFfile.pdf”| grep http
我刚刚制作了
pdfx
,这是一个用于此工作的小工具:从给定的PDF下载所有PDF。它是用Python编写的,并在GPLv3许可下作为open source发布的:http://www.metachris.com/pdfx您可以使用
pdfx
工具显示所有PDF url、所有url(使用-v
)以及下载所有引用的PDF(使用-d
):您可以使用
$ easy_install -U pdfx
安装它。在引擎盖下,pdfx使用PyPDF2,一个Python库读取PDF内容,然后使用regular expression to match all urls。
相关问题 更多 >
编程相关推荐