mcpField
P
pdf-2

pdf-2

github.com/alphaonedevドキュメント46 回インストール
リポジトリ

pdf-2 について

pdf-2は、OpenClawのドキュメントワークフローでPDF処理を自動化するスキルです。CLIまたはAPIから、OCR、構造化データの抽出、署名処理、ファイル操作、注釈を扱えます。

主な機能

  1. 01TesseractによるOCR
  2. 02フォーム項目のJSON抽出
  3. 03テーブルのCSV解析
  4. 04署名の検証と追加
  5. 05PDFの結合と分割
  6. 06注釈の抽出と追加

活用シーン

  1. 01スキャンPDFからのテキスト抽出
  2. 02請求書のフォームや表の処理
  3. 03署名済み法的文書の検証
  4. 04複数PDFからのレポート準備

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/pdf-2を入力して読み込まれたか確認します。

詳細

pdf-2

目的

このスキルでは、画像からのテキスト抽出のための OCR、フォームデータの抽出、テーブルの構造化形式への解析、電子署名の検証と追加、PDF の結合・分割、注釈の処理など、高度な PDF 処理が可能です。OpenClaw でドキュメントのワークフローを自動化するために設計されています。

使用するタイミング

表やフォームを含む請求書からのデータ抽出、署名付きの法的文書の検証、ファイルを結合したレポートの作成など、スキャン済みまたは複雑な PDF を扱うタスクでこのスキルを使用します。検索できない PDF を扱う場合(OCR の利用など)や、ドキュメントパイプラインで他のツールとの連携が必要な場合にも適用してください。

主な機能

  • OCR:Tesseract エンジンを使用してテキストを抽出します。--lang フラグで言語を指定できます(例:英語の場合は --lang eng)。
  • フォーム抽出:PDF フォームを JSON として解析します。--fields フラグを使用して、テキストボックスやチェックボックスなどのフィールドを抽出します。
  • テーブル解析:テーブルを検出し、CSV に変換します。--layout auto または --layout grid でレイアウトを指定します。
  • 電子署名:--verify フラグで署名を検証し、証明書のパスを指定して --sign で新しい署名を追加します。
  • 結合・分割:--inputs フラグで複数の PDF を結合します。ページ範囲(例:--pages 1-5)を指定して分割します。
  • 注釈:--extract-annotations または --add-annotation type=highlight text="Note" を使用して、注釈(ハイライトなど)を抽出または追加します。

使用パターン

単発のタスクには CLI、スクリプト化したワークフローには API から呼び出します。パイプを使ってコマンドを連結することもできます(例:OCR の出力をテキスト処理ツールに渡す)。一括処理には、スクリプト内でループを使用します。入力パスと出力パスは必ず明示してください。大きなファイルを扱う場合は、処理時間を延長するために --timeout 300 を設定します。デフォルト値は JSON 設定ファイルで設定できます(例:{"default_lang": "eng"})。

主なコマンド/API

CLI コマンド:

  • OCR:openclaw pdf-2 ocr --input path/to/file.pdf --lang eng --dpi 300 --output extracted.txt
  • フォーム抽出:openclaw pdf-2 extract-form --file form.pdf --fields name,address --output data.json
  • テーブル解析:openclaw pdf-2 parse-table --input table.pdf --page 2 --output tables.csv
  • 署名検証:openclaw pdf-2 verify-signature --file signed.pdf --cert path/to/cert.pem
  • PDF の結合:openclaw pdf-2 merge --inputs file1.pdf file2.pdf --output merged.pdf
  • PDF の分割:openclaw pdf-2 split --input original.pdf --pages 1-3 --output split_folder/

API エンドポイント:

  • OCR:JSON ボディ {"file": "base64encoded_string", "lang": "eng", "dpi": 300} を指定して POST /api/pdf-2/ocr
  • フォーム抽出:ボディ {"file": "base64encoded", "fields": ["name", "address"]} を指定して POST /api/pdf-2/extract-form
  • テーブル解析:ボディ {"file": "base64encoded", "page": 2} を指定して POST /api/pdf-2/parse-table

コードスニペット:

  1. OCR の Python API 呼び出し:
    import requests; import os; import base64
    api_key = os.environ['OPENCLAW_API_KEY']
    response = requests.post('https://api.openclaw.ai/api/pdf-2/ocr', headers={'Authorization': f'Bearer {api_key}'}, json={'file': base64.b64encode(open('file.pdf', 'rb').read()).decode()})
    
  2. シェルスクリプトでの CLI:
    export OPENCLAW_API_KEY=your_key
    openclaw pdf-2 ocr --input input.pdf --output output.txt
    

設定形式: API リクエストまたは CLI 設定には JSON を使用します(例:{"lang": "eng", "timeout": 60})。.json ファイルとして保存し、--config path/to/config.json を指定して渡します。

連携に関する注意事項

API 呼び出しには、環境変数 OPENCLAW_API_KEY=your_api_key を設定して認証します。CLI では、OpenClaw CLI がインストールされ(例:npm install openclaw)、認証済みであることを確認してください。出力をパイプで渡す(例:OCR の結果を NLP ツールに送信する)ことで、他のサービスと連携できます。API ボディでファイルをアップロードする場合は、base64 にエンコードしてください。Webhook では、リクエストにコールバック URL を含めて /api/pdf-2/webhook エンドポイントを使用します。

エラー処理

API エラーでは HTTP ステータスコード(入力不正の場合は 400、認証されていない場合は 401 など)を確認し、JSON レスポンスを解析して {"error": "File not found"} のような詳細を確認します。CLI の場合、エラーは終了コード(失敗時は終了コード 1 など)とともに stderr に出力されます。よくある問題には適切に対処してください。API のタイムアウトには、たとえば Python で try: requests.post(...) except requests.exceptions.Timeout: print("Timeout occurred") のように try-except を使用します。コマンドを実行する前に、os.path.exists() でファイルの存在を確認するなど、入力を検証してください。一時的なエラーには、指数バックオフを使用して再試行します。

具体的な使用例

  1. スキャンした請求書 PDF から表を抽出して解析する:

    • まず、OCR を実行します:openclaw pdf-2 ocr --input invoice_scanned.pdf --lang eng --output ocr_output.txt
    • 次に、表を解析します:openclaw pdf-2 parse-table --input invoice_scanned.pdf --page 1 --output invoice_tables.csv
    • これにより、データベースへのインポートなど、さらなる分析に使用できる CSV が生成されます。
  2. レポートの PDF を結合して署名を検証する:

    • ファイルを結合します:openclaw pdf-2 merge --inputs report_part1.pdf report_part2.pdf --output final_report.pdf
    • 署名を検証します:openclaw pdf-2 verify-signature --file final_report.pdf --cert company_cert.pem
    • 有効な場合は処理を進め、そうでない場合はエラーログを記録して対処します。

グラフの関係

  • 依存先:ocr-1(コア OCR 機能を提供)
  • 統合先:document-1(一般的なドキュメントの保存と取得向け)
  • 競合:なし
  • 関連:pdf-1(基本的な PDF 処理機能を備えたもので、こちらは高度なバージョンです)
  • クラスター:community(コラボレーションスキル向けの共有クラスター)

コメント