mcpField
P
pdf-extraction

pdf-extraction

github.com/allenai文档处理43145 次安装今天更新
代码仓库

关于 pdf-extraction

pdf-extraction 是一项 Asta 技能,通过 Asta 远程 OCR API 将本地 PDF 转为保留结构的 Markdown。它支持指定页范围和可选图片提取,适用于文档处理与索引。

主要功能

  1. 01将 PDF 文本提取为结构化 Markdown
  2. 02处理指定页范围
  3. 03将内嵌图片保存到输出旁
  4. 04输出到标准输出或文件

适用场景

  1. 01将扫描版 PDF 转为 Markdown
  2. 02仅提取指定页面
  3. 03为文档索引准备内容
  4. 04在提取文本时保留图片

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/allenai/asta-plugins --skill pdf-extraction

安装后在 Claude Code 中输入/pdf-extraction确认已加载。

详细介绍

PDF 文本提取

使用 Asta 远程 OCR API 从本地 PDF 中提取文本。该命令会返回保留文档结构、标题、格式、表格、列表和强调格式的 Markdown。

快速开始

# Print extracted markdown to stdout
asta pdf-extraction remote paper.pdf

# Save extracted markdown to a file
asta pdf-extraction remote paper.pdf -o paper.md

# Extract the first 50 pages
asta pdf-extraction remote paper.pdf \
  --start-page 0 \
  --max-pages 50 \
  -o paper-part-1.md

# Extract pages 50-99
asta pdf-extraction remote paper.pdf \
  --start-page 50 \
  --max-pages 50 \
  -o paper-part-2.md

# Extract embedded images next to the markdown file
asta pdf-extraction remote paper.pdf -o output/paper.md --images

参数

  • <pdf>:本地 PDF 路径(必填;文件必须存在且可读)
  • -o / --output:Markdown 输出路径(默认:stdout)
  • --start-page:要处理的首页,页码从 0 开始计数 (默认:0)
  • --max-pages:要处理的最大页数(默认:50)
  • --images / --no-images:将嵌入的图片保存到 Markdown 文件旁 (默认:--no-images)

该命令需要经过身份验证的 Asta 会话。

流程

1. 确认输入和输出

确认本地 PDF 的路径,以及用户希望保存 Markdown 的位置。优先使用明确的 -o 路径,以便后续使用提取结果。该命令会为输出文件创建缺失的父目录。

2. 选择页码范围

对于 50 页或更少的 PDF,请使用默认值:

asta pdf-extraction remote document.pdf -o document.md

对于更长的 PDF,请通过多个命令依次处理连续的页码范围。页码从零开始计数,因此第二个 50 页的范围从第 50 页开始:

asta pdf-extraction remote document.pdf \
  --start-page 0 --max-pages 50 -o document-part-001.md
asta pdf-extraction remote document.pdf \
  --start-page 50 --max-pages 50 -o document-part-002.md
asta pdf-extraction remote document.pdf \
  --start-page 100 --max-pages 50 -o document-part-003.md

部分编号请补零,以便文件按页码顺序排列。

3. 按需提取图片

如果图表、示意图或其他嵌入图片很重要,请使用 --images:

asta pdf-extraction remote document.pdf \
  -o extracted/document.md \
  --images

图片会保存在输出文件所在的目录中,并在 Markdown 中通过文件名引用。使用 --images 时务必同时提供 -o;否则图片会写入当前目录。

4. 验证结果

提取完成后,请检查:

  • 输出文件存在且不为空。
  • 已包含所请求范围的第一页和最后一页。
  • 标题、表格、公式和多栏文本清晰可读。
  • 如果请求了 --images,图片引用均可正常解析。

如果文档分多部分处理,请将原始 PDF 和页码范围与提取文件一并保留,以便明确顺序和来源。

常见工作流

提取扫描版 PDF
asta pdf-extraction remote scanned-document.pdf \
  -o extracted/scanned-document.md
仅提取指定范围

若要提取 PDF 阅读器中显示为第 21–30 页的内容,请从零起始页码 20 开始,并请求 10 页:

asta pdf-extraction remote report.pdf \
  --start-page 20 \
  --max-pages 10 \
  -o report-pages-21-30.md
提取文本以建立 Asta 文档索引

将 Markdown 保存在用户的数据集或文档目录下,然后使用 asta-documents 或 local-paper-index 技能为其建立索引。如有可能,请在索引元数据中保留指向源 PDF 的链接。

故障排除

身份验证错误

确认用户已登录 Asta,然后重试相同的命令。

远程 OCR API 错误

该命令会报告 HTTP 状态码以及服务返回的响应。请检查网络连接并重试。如果大型请求反复失败,请减小 --max-pages,分批处理较小的页码范围。

输出为空或不完整
  • 确认 --start-page 在文档范围内。
  • 检查所请求的范围是否超出最后一页。
  • 尝试减少页数后重试。
  • 对于只有图片或结构异常复杂的页面,请先检查源 PDF 中对应的页面,再决定是否接受提取结果。
图片写入了错误的目录

同时使用 --images 和明确的 -o 路径运行命令。图片会保存在输出文件旁;如果未提供输出文件,则会保存到当前目录。

何时使用此技能

在以下情况下使用 PDF 提取:

  • 用户希望从 PDF 中提取文本或 Markdown。
  • PDF 是扫描版,或包含需要通过光学字符识别(OCR)处理的图片文本。
  • 文档包含表格、公式、多栏内容或复杂格式。
  • 需要提取文本以建立索引或进行后续分析。

以下情况不要使用:

  • 输入是图片而非 PDF。
  • 用户只需要论文元数据或简短的可搜索片段。
  • 用户需要实时或流式提取。

评论

支持 Markdown