nano-pdf
PDFの処理:抽出、テキストマイニング、フォーム入力、操作、OCR統合 PDFファイルの包括的な処理機能を提供します。ドキュメントからデータを抽出したり、テキストマイニングで情報を分析したり、フォームに自動入力することができます。また、PDFの編集・操作や、OCR技術の統合により、スキャン画像からのテキスト認識にも対応しています。これらの機能を活用することで、ドキュメント処理の自動化と業務効率化を実現できます。
description の原文を見る
PDF processing: extraction, text mining, form filling, manipulation, OCR integration
SKILL.md 本文
nano-pdf
目的
このスキルはPDF処理用のツールを提供します。テキスト抽出、マイニング、フォーム記入、操作、OCR統合を含み、ドキュメントワークフローを効率的に処理できます。
使用場面
スキャンされたドキュメントからのPDFデータ抽出、レポート内のテキスト分析、フォーム送信の自動化、ファイルのマージ・分割、または非テキストPDFへのOCR適用が必要なタスクで使用します。データパイプライン、ドキュメント自動化スクリプト、または非構造化データ用のOCRサービスとの統合時に活用できます。
主な機能
- テキスト抽出: PDFからプレーンテキストまたは構造化データを抽出します。パスワード付き暗号化ファイルに対応し、画像ベースのPDFにはTesseract統合を通じてOCRを使用します。
- テキストマイニング: 抽出されたテキストのキーワード、感情、パターンを分析します。例えば、ドキュメント内のフレーズの出現回数をカウントします。
- フォーム記入: インタラクティブなPDFフォームをJSONデータで自動入力します。フォームを静的PDFにフラット化することができます。
- 操作: PDFのマージ、分割、回転、透かし処理を実行します。最大500ページのドキュメントを効率的に処理できます。
- OCR統合: スキャンされたPDFを外部APIを使用して検索可能なテキストに変換します。Tesseractまたは同様のエンジンの設定が必要です。
使用パターン
クイックスクリプトにはCLI経由で、サーバーサイド統合にはAPI経由で呼び出します。バッチ処理の場合はシェルスクリプト内でコマンドをチェーンします。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("エラー: ファイルが存在しません。")
except Exception as e:
print(f"APIエラー: {e} - $NANO_PDF_API_KEY を確認してください。")
CLIの場合は標準エラーの出力をパースします。一時的なエラー(例: ネットワークの問題)は指数バックオフで再試行します。常に入力を検証し、処理前にPDFが破損していないことを確認します。
例 1: PDFからテキストを抽出してマイニングする
スキャンされた請求書PDFからテキストを抽出し、製品名についてマイニングします:
- 実行:
nano-pdf extract --file invoice.pdf --output invoice_text.txt --ocr true - その後:
nano-pdf mine --input invoice_text.txt --keywords "product" --output analysis.jsonこれにより、キーワード出現のJSONが生成され、さらに処理できます。
例 2: フォームPDFを記入して操作する
求人応募フォームを記入し、職務経歴書とマージします:
- JSONでデータを準備:
{"name": "John Doe", "position": "Engineer"} - 実行:
nano-pdf fill --template application.pdf --data application_data.json --output filled_app.pdf - マージ:
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」のようなスキルに接続。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- alphaonedev
- ライセンス
- MIT
- 最終更新
- 2026/3/13
Source: https://github.com/alphaonedev/openclaw-graph / ライセンス: MIT