You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行提取PDF中带对应页码的高亮文本?

Linux命令行提取带对应页码PDF高亮段落方案

开箱即用工具:pdfannots

  • 原生支持命令行调用,无GUI依赖,Debian/Ubuntu系可直接通过源安装:sudo apt install pdfannots,其他发行版可通过pip安装:pip install pdfannots
  • 默认输出即包含高亮文本、对应页码、高亮在页面中的位置信息,无需额外配置。基础使用命令:
    pdfannots 目标文件.pdf
  • 支持markdown、json等结构化输出格式,结果可直接重定向保存为文件,例如导出markdown格式结果:
    pdfannots -f markdown 目标文件.pdf > 高亮提取结果.md

高兼容性自定义脚本方案

针对特殊编码、带权限限制、格式不规范的PDF,若现成工具提取准确率不足,可基于PyMuPDF实现极简提取脚本,页码匹配准确率接近100%:

  1. 安装依赖:pip install pymupdf
  2. 新建脚本文件extract_pdf_highlights.py,写入以下代码:
import fitz
import sys

doc = fitz.open(sys.argv[1])
for page_num, page in enumerate(doc, start=1):
    for annot in page.annots():
        # 注释类型编码8对应高亮标注
        if annot.type[0] == 8:
            hl_content = page.get_textbox(annot.rect).strip()
            print(f"页码:{page_num}\n高亮内容:{hl_content}\n---")
  1. 命令行调用方式:python extract_pdf_highlights.py 目标文件.pdf
  • 可根据自身需求修改代码调整输出格式、过滤无效高亮、支持批量处理文件,灵活度极高。

你之前测试的两款工具确实存在对应缺陷:pdf-highlights-extractor本身基于PyMuPDF封装,仅做了GUI交互层未开放命令行入口;DyAnnotationExtractor的注释解析逻辑未关联页面对象,因此无法返回页码信息。

内容的提问来源于stack exchange,提问作者Wolfhart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 08:54:19