阅读 PDF
脚本:scripts/pdf_read.py。依赖写在脚本头部,uv run 时自动装 pypdfium2、pdf-inspector、pillow。
curl -fsSO https://wiki.liuhetian.work/skills/agent-io/scripts/pdf_read.py
uv run pdf_read.py info report.pdf # 页数、哪些页没文字、表格页
uv run pdf_read.py text report.pdf --pages 1-5 # 正文,按页标 <!-- Page N -->
uv run pdf_read.py render report.pdf --pages 3,7 # 没文字的页、图表页渲染成 PNG
uv run pdf_read.py markdown report.pdf --pages 12 # 表格页重建成表格
- 按
info→text→render的顺序读;info最后一行next:给出下一步该跑的命令。 text超过--max-chars(默认 30000 字符)就在页边界截断,并提示下一次该传的--pages。render出的 PNG 交给看图工具;看不了图,就告诉用户这几页读不到,别反复重试。- 中文段落以
text为准;markdown只用来看表格,它会把中文段落里的英文和数字挪乱。 - 页码从 1 开始,写成
1-3,7或4-;render一次最多 10 页;加密 PDF 传--password(markdown不支持)。 - 退出码 2 表示参数不对,stderr 一行写出原因和改法。
维护记录:引擎为什么这样选、吸收了哪些上游插件。正常使用不用看,脚本出问题再看。