如何编写Python脚本禁用PDF网页超链接?PyPDF2尝试失败求助
Python脚本禁用PDF中的网页超链接
PyPDF2仅能处理注释型超链接,但很多PDF里的网页链接是嵌入在文本或页面内容中的动作(Action),这就是你用它没效果的原因。推荐用PyMuPDF(fitz)来处理,它能识别并移除各类超链接。
步骤实现
- 先安装依赖:
pip install pymupdf
- 编写脚本:
import fitz def disable_pdf_links(input_path, output_path): # 打开PDF文件 doc = fitz.open(input_path) # 遍历每一页 for page in doc: # 获取当前页面所有链接 links = page.get_links() # 逐个移除链接 for link in links: # 只移除网页链接(URI类型),如果要移除所有链接可以去掉判断 if link["kind"] == fitz.LINK_URI: page.delete_link(link) # 保存处理后的PDF doc.save(output_path) doc.close() # 使用示例 disable_pdf_links("input.pdf", "output_no_links.pdf")
说明
page.get_links()会获取页面上所有类型的链接,包括URI、内部跳转等;- 通过
link["kind"] == fitz.LINK_URI可以精准筛选网页链接,若要移除所有链接,直接删除这个判断即可; - 如果原PDF是加密的,需要先调用
doc.authenticate("密码")解密后再处理。
内容的提问来源于stack exchange,提问作者siwi
相关产品推荐
相关产品推荐

