mcpField
P
pdf-to-text

pdf-to-text

github.com/pspdfkit-labs文档处理1890 次安装1 周前更新
代码仓库

关于 pdf-to-text

将 PDF 转换为纯文本并保留列、缩进和表格对齐的技能。它指导 Agent 选择标准或 Vision 转换、检查输出,并针对已保存文件进行搜索。

主要功能

  1. 01PDF 转纯文本
  2. 02批量转换输入目录
  3. 03使用 Vision 处理扫描件和复杂版式
  4. 04输出检查与故障排查
  5. 05搜索已保存文本的指导

适用场景

  1. 01提取 PDF 中可选择的文本
  2. 02批量转换目录中的多个 PDF
  3. 03使用 Vision 处理扫描或纯图像文档
  4. 04搜索大型转换文档而不必重新读取

安装

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

$npx skills add https://github.com/pspdfkit-labs/nutrient-skills --skill pdf-to-text

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

附带文件bin/nutrientbin/pdf-to-text

详细介绍

面向 Agent 的规则

  • 每个 PDF 只转换一次,并保存结果。搜索已保存的文件,不要再次转换。
  • 对于已知术语,先使用范围受限的搜索,例如 grep -n -i -C2 "term" file | head。
  • 如果不知道准确措辞,或普通搜索返回的匹配项过多,请使用 query 技能。
  • 如果标题、列表和表格比空白和列对齐更重要,请使用 pdf-to-markdown。
  • 不要将 PDF 页面渲染为图像来提取可选中文本。对于扫描件和纯图像 PDF,请使用 Vision。

PDF 转文本

将 PDF 转换为纯文本,同时保留列、缩进和表格对齐。

相关技能

  • pdf-to-markdown — 以 Markdown 格式保留标题、列表、表格和阅读顺序。
  • query — 搜索大型转换文件,并仅返回最相关的段落。

用法

将 SKILL_DIR 设置为包含此文件的目录的绝对路径。在以下命令中使用 $SKILL_DIR/bin/pdf-to-text。

首次使用时,该封装脚本会从 Nutrient 的 CDN 下载 CLI,并将其存储在 ~/.local/share/nutrient/cli/。它每六小时检查一次更新。

转换一个 PDF
$SKILL_DIR/bin/pdf-to-text INPUT.pdf OUTPUT.txt

省略 OUTPUT.txt 可将文本写入标准输出。

转换多个 PDF

对于两个或更多 PDF,请传入输入目录和输出目录。CLI 会并行转换文件。

$SKILL_DIR/bin/pdf-to-text INPUT_DIR/ OUTPUT_DIR/
使用 Vision

Vision 可处理扫描件、照片、手写内容、公式和复杂版面。使用 pdf-to-text 时,Vision 会输出结构化 JSON,而非纯文本。需要 Markdown 时,请使用 pdf-to-markdown --vision。

$SKILL_DIR/bin/pdf-to-text --vision INPUT.pdf OUTPUT.json

标准转换免费且无需账户。Vision 需要 Nutrient 账户、API 密钥或 Nutrient CLI 许可证密钥。使用账户或 API 密钥时,每个输入页面会消耗账户月度额度中的一个 Vision 页面。Nutrient CLI 许可证密钥继续沿用其现有条款。转换失败不会消耗 Vision 页面。

如果 Vision 要求提供账户,请向用户显示该消息,并让他们运行:

$SKILL_DIR/bin/nutrient auth login

不要自动开始登录。未经身份验证,不要重试 Vision。

对于无人值守使用,用户可以设置 NUTRIENT_API_KEY。切勿要求用户将密钥粘贴到聊天中,也不要将密钥直接写入命令。

账户命令
$SKILL_DIR/bin/nutrient auth login
$SKILL_DIR/bin/nutrient auth status
$SKILL_DIR/bin/nutrient auth logout

status 会显示当前方案、Vision 访问权限,以及等待上报的用量。除非用户提出要求,否则切勿退出登录或切换账户。

工作流

  1. 选择 Standard 或 Vision。除非 PDF 是扫描件或纯图像文件,否则从 Standard 开始。
  2. 转换 PDF 一次,并检查退出码。退出码 0 表示成功。
  3. 检查输出是否存在且非空。
  4. 告知用户输出的保存位置。
  5. 除非用户希望分析大型输出文件,否则不要将其读回上下文。改用范围受限的 grep 或 query 技能进行搜索。

离线行为

Nutrient 不可用时,Standard 仍可继续运行。Vision 连接后,可离线工作一小时,并处理最多 100 页,然后必须重新连接。超过 100 页阈值的文档仍可完成处理。

故障排除

  • 输出为空或内容极少: PDF 可能是扫描件或仅包含图像。请使用 Vision。
  • Vision 要求登录: 显示 CLI 消息,并让用户运行 $SKILL_DIR/bin/nutrient auth login。不要先重试。
  • Vision 页面已用完: 显示 CLI 消息和定价页面。不要重试或更改账户状态。
  • Standard 转换期间出现凭据错误: 显式配置的密钥或已保存的登录凭据无效。请显示错误。除非用户要求,否则不要移除或替换凭据。
  • 首次运行较慢: 封装程序会下载一次平台二进制文件。之后的运行会使用缓存副本。
  • 列显示不正确: 如果标题、列表和表格比精确间距更重要,请尝试 pdf-to-markdown。
  • 其他非零退出: 查看 stderr 并报告具体错误。常见原因包括 PDF 已损坏、加密方式不受支持,或首次运行时下载失败。

方案与许可

Standard 转换免费。使用账户或 API 密钥时,Vision 会使用账户的每月额度。Nutrient CLI 许可证密钥沿用现有条款。请参阅当前方案。

使用须遵守 Nutrient PDF to Markdown License 和 Nutrient 的隐私政策。再分发、OEM、嵌入式和白标用途需要与 Nutrient 单独签订协议。

评论

支持 Markdown