mcpField
N
nano-pdf

nano-pdf

github.com/alphaonedev文档处理89 次安装
代码仓库

关于 nano-pdf

nano-pdf 是用于 PDF 文档处理的技能,面向文档自动化、数据提取和分析流程。它结合文本提取、OCR、表单填写与文件操作,并可通过命令行或 API 使用。

主要功能

  1. 01提取文本与结构化数据
  2. 02通过 Tesseract 执行 OCR
  3. 03分析文本关键词与模式
  4. 04填充并扁平化 PDF 表单
  5. 05合并、拆分、旋转和添加水印

适用场景

  1. 01从扫描件中提取发票文本
  2. 02统计报告中的关键词
  3. 03自动填写并合并 PDF 表单
  4. 04批量处理 PDF 文档

安装

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill nano-pdf

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

详细介绍

nano-pdf

用途

此技能提供 PDF 处理工具,包括文本提取、挖掘、表单填写、文档操作和 OCR 集成,帮助高效处理文档工作流。

适用场景

适用于涉及 PDF 数据提取(例如从扫描文档中提取)、报告文本分析、自动提交表单、合并或拆分文件,或对非文本 PDF 应用 OCR 的任务。可用于数据管道、文档自动化脚本,或集成 OCR 服务以处理非结构化数据。

主要功能

  • 文本提取:从 PDF 中提取纯文本或结构化数据,支持使用密码处理加密文件;通过集成 Tesseract,为基于图像的 PDF 提供 OCR。
  • 文本挖掘:分析提取的文本中的关键词、情感或模式;例如统计文档中短语的出现次数。
  • 表单填写:使用 JSON 数据填写交互式 PDF 表单;支持将表单扁平化为静态 PDF。
  • 文档操作:合并、拆分、旋转 PDF,或为 PDF 添加水印;可高效处理最多 500 页的文档。
  • OCR 集成:通过外部 API 将扫描版 PDF 转换为可搜索文本;需要配置 Tesseract 或类似引擎。

使用模式

快速脚本可通过 CLI 调用,服务端集成可使用 API。批量处理时,可在 Shell 脚本中串联命令;Web 应用可在循环中调用 API。务必明确指定输入和输出路径。常见模式:先提取文本,再按需挖掘或处理。对于 OCR 密集型任务,请先预处理图像,再执行 PDF 操作。

常用命令/API

CLI 命令使用 nano-pdf 二进制文件;API 端点位于 https://api.opencclaw.com/nano-pdf/。身份验证需要设置 $NANO_PDF_API_KEY 环境变量。

  • 提取文本:nano-pdf extract --file input.pdf --output text.txt --ocr true(如果文本不可选中,则会执行 OCR)。
  • 挖掘文本:nano-pdf mine --input text.txt --keywords "AI,robot" --output results.json(输出关键词频次)。
  • 填写表单:nano-pdf fill --template form.pdf --data '{"field1": "value"}' --output filled.pdf。
  • 处理 PDF:nano-pdf merge --files file1.pdf file2.pdf --output combined.pdf。
  • 提取用的 API 端点:POST /extract,请求正文为 {"file": "base64encoded_content", "ocr": true},并在请求头中提供 Authorization: Bearer $NANO_PDF_API_KEY。
  • 代码片段(Python):
    import requests
    response = requests.post('https://api.opencclaw.com/nano-pdf/extract', headers={'Authorization': f'Bearer {os.environ["NANO_PDF_API_KEY"]}'}, json={'file': 'base64data'})
    print(response.json()['text'])
    
  • 配置格式:API 请求正文使用 JSON,例如 {"file": "path", "options": {"ocr_engine": "tesseract", "language": "en"}};CLI 使用基于标志的配置,例如 --config config.json。

集成说明

进行身份验证请求时,请设置 $NANO_PDF_API_KEY;本地使用时,请通过 pip install nano-pdf 安装并将其作为模块导入。可与其他工具结合使用:将 CLI 输出传递给 NLP 库进行挖掘,或通过 HTTP 请求在 Node.js 中使用。使用 OCR 时,请确保已安装 Tesseract,并在环境路径中完成配置。请在沙盒中测试集成,以验证 API 速率限制(例如,每分钟 100 个请求)。

错误处理

检查常见错误,例如文件不存在(退出代码 404)、API 密钥无效(401)或 OCR 失败(例如未安装 Tesseract)。在代码中使用 try-except:

try:
    result = nano_pdf.extract('input.pdf')
except FileNotFoundError:
    print("Error: File does not exist.")
except Exception as e:
    print(f"API Error: {e} - Check $NANO_PDF_API_KEY.")

对于 CLI,请解析 stderr 输出;遇到暂时性错误(例如网络问题)时,请使用指数退避重试。处理前务必验证输入,例如确认 PDF 未损坏。

示例 1:从 PDF 中提取并挖掘文本

要从扫描版发票 PDF 中提取文本并挖掘产品名称:

  1. 运行:nano-pdf extract --file invoice.pdf --output invoice_text.txt --ocr true
  2. 然后运行:nano-pdf mine --input invoice_text.txt --keywords "product" --output analysis.json 这会生成一个包含关键词出现次数的 JSON 文件,供进一步处理。

示例 2:填写和编辑表单 PDF

要填写工作申请表并与求职信合并:

  1. 以 JSON 格式准备数据:{"name": "John Doe", "position": "Engineer"}
  2. 执行:nano-pdf fill --template application.pdf --data application_data.json --output filled_app.pdf
  3. 合并:nano-pdf merge --files filled_app.pdf cover_letter.pdf --output final_packet.pdf 输出为一个可直接提交的 PDF。

图谱关系

  • 相关工具:“ocr-tool”(增强 OCR 功能)、“document-parser”(支持更多文件类型)、“text-analyzer”(高级挖掘集成)。
  • 集群:通过“community”集群与“data-extraction”和“automation-utils”等技能相连。

评论

支持 Markdown