苹果电脑用户可用pdfx命令行工具一键批量提取pdf中所有超链接,支持http/https、mailto、doi等类型,加-v参数并执行pdfx 文件名.pdf -v > links.txt即可生成完整清单。

苹果电脑用户需要从PDF中批量提取所有超链接,比如检查课件里有多少外部引用、验证论文参考文献是否完整、或是为合规审查做链接清单,不用手动翻页点击复制。
用PDFx命令行工具一键提取(推荐)
PDFx是专为macOS设计的轻量级命令行工具,能直接解析PDF中的URL、DOI、PDF引用等全部链接类型,无需安装Python环境或写代码。
第一步:打开终端,执行安装命令:brew install pdfx。如果未安装Homebrew,需先运行/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"。
第二步:在终端中输入pdfx 文件名.pdf -v,回车后立即输出所有链接,包括HTTP/HTTPS地址、mailto链接、PDF内部跳转目标,以及DOI、arXiv等学术标识符。
第三步:若要保存结果到文本文件,追加 > links.txt,整条命令变成pdfx 文件名.pdf -v > links.txt,回车后生成纯文本清单,可直接用“访达”双击打开查看。
注意:PDFx默认只显示PDF类型引用,必须加-v参数才能列出全部链接类型,否则会漏掉网页和邮箱链接。
用Python脚本+pdfplumber提取(精准可控)
适合需要进一步处理链接数据的用户,比如去重、分类导出Excel、或过滤特定域名。
方法一:快速安装并运行
在终端中依次执行:
pip install pdfplumber
python3 -c "import pdfplumber; [print(l['uri']) for p in pdfplumber.open('文件名.pdf').pages for l in p.hyperlinks if 'uri' in l]"
这行命令会逐页扫描,只打印URI字段,跳过页面内跳转等无目标链接,输出干净的URL列表。
方法二:保存为CSV文件(含页码信息)
新建一个extract_links.py文件,粘贴以下内容:
import pdfplumber<br>import csv<br><br>with pdfplumber.open('文件名.pdf') as pdf:<br> with open('links.csv', 'w', newline='') as f:<br> writer = csv.writer(f)<br> writer.writerow(['页码', '链接'])<br> for i, page in enumerate(pdf.pages, 1):<br> for link in page.hyperlinks:<br> if 'uri' in link:<br> writer.writerow([i, link['uri']])
把文件名.pdf替换成你的真实路径,然后在终端运行python3 extract_links.py,当前目录下就会生成links.csv,可用“数字”或“Excel”直接打开。
用Mac预览+辅助工具间接提取(零编码)
系统自带“预览”无法直接导出链接,但可通过文本提取+正则筛选实现,适合临时应急且不熟悉命令行的用户。
第一步:用“预览”打开PDF → 点击顶部菜单“文件”→“导出为”→“文本”,保存为text.txt。
第二步:打开“访达”,右键text.txt → “在终端中打开”,输入grep -oE 'https?://[^[:space:]]+' text.txt | sort -u,回车后列出所有HTTP/HTTPS链接。
第三步:如需提取mailto链接,再运行grep -oE 'mailto:[^[:space:]]+' text.txt。
⚠️注意:此法仅能提取明文可见的URL字符串,PDF中嵌入但未显示的文字链接(如透明覆盖层、按钮式链接)将完全遗漏,不可用于正式审计场景。











