PDF Processing Pro
フォーム・表・OCR・バリデーション・バッチ処理に対応した本番環境向けPDF処理スキルです。複雑なPDFワークフローの自動化、大量PDFの一括処理、堅牢なエラーハンドリングが必要な場面で活躍します。
description の原文を見る
Production-ready PDF processing with forms, tables, OCR, validation, and batch operations. Use when working with complex PDF workflows in production environments, processing large volumes of PDFs, or requiring robust error handling and validation.
SKILL.md 本文
PDF Processing Pro
本番環境対応のPDF処理ツールキット。事前構築スクリプト、包括的なエラーハンドリング、複雑なワークフロー対応。
クイックスタート
PDFからテキストを抽出
import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
text = pdf.pages[0].extract_text()
print(text)
PDFフォームを分析(付属スクリプト使用)
python scripts/analyze_form.py input.pdf --output fields.json
# 返り値: すべてのフォームフィールド、タイプ、位置を含むJSON
検証付きでPDFフォームを入力
python scripts/fill_form.py input.pdf data.json output.pdf
# 入力前にすべてのフィールドを検証、エラーレポート付き
PDFからテーブルを抽出
python scripts/extract_tables.py report.pdf --output tables.csv
# 自動列検出付きですべてのテーブルを抽出
機能
✅ 本番環境対応スクリプト
すべてのスクリプトには以下が含まれます:
- エラーハンドリング: 詳細なエラーメッセージ付きの適切な失敗処理
- 検証: 入力検証とタイプチェック
- ログ記録: タイムスタンプ付きの設定可能なログ
- 型ヒント: IDE対応の完全な型アノテーション
- CLIインターフェース: すべてのスクリプトの
--helpフラグ - 終了コード: 自動化用の適切な終了コード
✅ 包括的なワークフロー
- PDFフォーム: 完全なフォーム処理パイプライン
- テーブル抽出: 高度なテーブル検出と抽出
- OCR処理: スキャンPDFテキスト抽出
- バッチ処理: 複数PDFの効率的な処理
- 検証: 処理前後の検証
高度なトピック
PDFフォーム処理
完全なフォームワークフロー:
- フィールド分析と検出
- 動的フォーム入力
- 検証ルール
- 複数ページフォーム
- チェックボックスとラジオボタン処理
FORMS.md を参照してください
テーブル抽出
複雑なテーブル抽出:
- 複数ページテーブル
- セルの結合
- ネストされたテーブル
- カスタムテーブル検出
- CSV/Excelへのエクスポート
TABLES.md を参照してください
OCR処理
スキャンPDFと画像ベースのドキュメント:
- Tesseract統合
- 言語対応
- 画像前処理
- 信頼度スコアリング
- バッチOCR
OCR.md を参照してください
付属スクリプト
フォーム処理
analyze_form.py - フォームフィールド情報を抽出
python scripts/analyze_form.py input.pdf [--output fields.json] [--verbose]
fill_form.py - PDFフォームをデータで入力
python scripts/fill_form.py input.pdf data.json output.pdf [--validate]
validate_form.py - 入力前にフォームデータを検証
python scripts/validate_form.py data.json schema.json
テーブル抽出
extract_tables.py - テーブルをCSV/Excelに抽出
python scripts/extract_tables.py input.pdf [--output tables.csv] [--format csv|excel]
テキスト抽出
extract_text.py - フォーマッティング保持付きでテキストを抽出
python scripts/extract_text.py input.pdf [--output text.txt] [--preserve-formatting]
ユーティリティ
merge_pdfs.py - 複数PDFをマージ
python scripts/merge_pdfs.py file1.pdf file2.pdf file3.pdf --output merged.pdf
split_pdf.py - PDFを個別ページに分割
python scripts/split_pdf.py input.pdf --output-dir pages/
validate_pdf.py - PDFの整合性を検証
python scripts/validate_pdf.py input.pdf
一般的なワークフロー
ワークフロー1: フォーム送信を処理
# 1. フォーム構造を分析
python scripts/analyze_form.py template.pdf --output schema.json
# 2. 送信データを検証
python scripts/validate_form.py submission.json schema.json
# 3. フォームを入力
python scripts/fill_form.py template.pdf submission.json completed.pdf
# 4. 出力を検証
python scripts/validate_pdf.py completed.pdf
ワークフロー2: レポートからデータを抽出
# 1. テーブルを抽出
python scripts/extract_tables.py monthly_report.pdf --output data.csv
# 2. 分析用にテキストを抽出
python scripts/extract_text.py monthly_report.pdf --output report.txt
ワークフロー3: バッチ処理
import glob
from pathlib import Path
import subprocess
# ディレクトリ内のすべてのPDFを処理
for pdf_file in glob.glob("invoices/*.pdf"):
output_file = Path("processed") / Path(pdf_file).name
result = subprocess.run([
"python", "scripts/extract_text.py",
pdf_file,
"--output", str(output_file)
], capture_output=True)
if result.returncode == 0:
print(f"✓ 処理完了: {pdf_file}")
else:
print(f"✗ 失敗: {pdf_file} - {result.stderr}")
エラーハンドリング
すべてのスクリプトは一貫したエラーパターンに従います:
# 終了コード
# 0 - 成功
# 1 - ファイルが見つからない
# 2 - 無効な入力
# 3 - 処理エラー
# 4 - 検証エラー
# 自動化での使用例
result = subprocess.run(["python", "scripts/fill_form.py", ...])
if result.returncode == 0:
print("成功")
elif result.returncode == 4:
print("検証失敗 - 入力データを確認してください")
else:
print(f"エラーが発生: {result.returncode}")
依存関係
すべてのスクリプトに必要:
pip install pdfplumber pypdf pillow pytesseract pandas
OCR用オプション:
# tesseract-ocrシステムパッケージをインストール
# macOS: brew install tesseract
# Ubuntu: apt-get install tesseract-ocr
# Windows: GitHubリリースからダウンロード
パフォーマンスのコツ
- 複数PDFの場合はバッチ処理を使用
--parallelフラグで並列処理を有効化(対応スクリプト)- 抽出データをキャッシュして再処理を避ける
- 入力の検証を早期に実行して迅速に失敗する
- 大きなPDF(>50MB)にはストリーミングを使用
ベストプラクティス
- 処理前に常に入力を検証
- カスタムスクリプトではtry-exceptを使用
- すべての操作をログ記録してデバッグに備える
- 本番環境前にサンプルPDFでテスト
- 長時間実行操作にはタイムアウトを設定
- 自動化では終了コードをチェック
- 変更前にオリジナルをバックアップ
トラブルシューティング
よくある問題
「モジュールが見つかりません」エラー:
pip install -r requirements.txt
Tesseractが見つからない:
# tesseractシステムパッケージをインストール(依存関係を参照)
大きなPDFでのメモリエラー:
# 全体をロードする代わりにページごとに処理
with pdfplumber.open("large.pdf") as pdf:
for page in pdf.pages:
text = page.extract_text()
# ページをすぐに処理
パーミッションエラー:
chmod +x scripts/*.py
ヘルプを表示
すべてのスクリプトは --help をサポート:
python scripts/analyze_form.py --help
python scripts/extract_tables.py --help
特定のトピックの詳細ドキュメントについては、以下を参照:
FORMS.md- 完全なフォーム処理ガイドTABLES.md- 高度なテーブル抽出OCR.md- スキャンPDF処理
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。