关于 pdf-extraction
pdf-extraction 是一项 Asta 技能,通过 Asta 远程 OCR API 将本地 PDF 转为保留结构的 Markdown。它支持指定页范围和可选图片提取,适用于文档处理与索引。
主要功能
- 01将 PDF 文本提取为结构化 Markdown
- 02处理指定页范围
- 03将内嵌图片保存到输出旁
- 04输出到标准输出或文件
适用场景
- 01将扫描版 PDF 转为 Markdown
- 02仅提取指定页面
- 03为文档索引准备内容
- 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。
- 用户只需要论文元数据或简短的可搜索片段。
- 用户需要实时或流式提取。