pdf-skill について
pdf-skillは、プログラムによるPDFの生成、解析、編集を支援するスキルです。開発者向けに、文書作成、内容抽出、ページ操作、フォーム処理、HTMLからPDFへの変換を扱います。
主な機能
- 01プログラムによるPDF生成
- 02テキストとデータの抽出
- 03PDFの結合、分割、編集
- 04PDFフォームの処理
- 05HTMLからPDFへの変換
活用シーン
- 01データからレポートを生成
- 02PDFファイルから内容を抽出
- 03文書の結合や分割
- 04プログラムでPDFフォームに入力
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill pdf-skillインストール後、Claude Code で/pdf-skillを入力して読み込まれたか確認します。
詳細
PDF スキル
目的
PDF のプログラムによる生成、解析、操作に関する専門知識を提供します。PDFKit、PDF.js、Puppeteer などのツールを使った PDF の新規作成、コンテンツの抽出、文書の結合・分割、フォームの処理を専門とします。
使用する場面
- プログラムで PDF を生成する
- PDF からテキストやデータを抽出する
- PDF 文書を結合または分割する
- プログラムで PDF フォームに入力する
- HTML を PDF に変換する
- 透かしや注釈を追加する
- PDF の構造やメタデータを解析する
- PDF レポート生成ツールを構築する
クイックスタート
このスキルを呼び出す場面:
- コードやデータから PDF を生成する
- PDF ファイルからコンテンツを抽出する
- PDF を結合、分割、または操作する
- PDF フォームに入力する、または作成する
- HTML/ウェブページを PDF に変換する
呼び出さない場面:
- Word 文書の作成 →
/docx-skillを使用 - Excel/スプレッドシートの作業 →
/xlsx-skillを使用 - PowerPoint の作成 →
/pptx-skillを使用 - 一般的なファイル操作 → Bash またはファイルツールを使用
判断の枠組み
PDF Operation?
├── Generate from scratch
│ ├── Simple → PDFKit (Node) / ReportLab (Python)
│ └── Complex layouts → Puppeteer/Playwright + HTML
├── Parse/Extract
│ ├── Text extraction → pdf-parse / PyPDF2
│ └── Table extraction → Camelot / Tabula
├── Manipulate
│ └── pdf-lib (merge, split, edit)
└── Forms
└── pdf-lib (fill) / PDFtk (advanced)
主なワークフロー
1. PDFKit による PDF 生成
- PDFKit をインストールする(
npm install pdfkit) - 新しい PDDocument を作成する
- コンテンツ(テキスト、画像、グラフィック)を追加する
- フォントと色でスタイルを設定する
- 必要に応じてページを追加する
- ファイルまたはレスポンスにパイプする
2. HTML から PDF への変換
- Puppeteer/Playwright を設定する
- HTML コンテンツまたは URL に移動する
- ページサイズと余白を設定する
- 印刷オプション(ヘッダー、フッター)を設定する
- PDF バッファを生成する
- 結果を保存またはストリーミングする
3. PDF の解析と抽出
- パーサー(pdf-parse、PyPDF2、pdfplumber)を選択する
- PDF ファイルを読み込む
- テキストまたは構造化データを抽出する
- 複数ページの文書を処理する
- 抽出したテキストをクリーニングして正規化する
- 希望する形式で出力する
ベストプラクティス
- 可能な場合はラスター画像よりベクターグラフィックを使用する
- 一貫したレンダリングのためにフォントを埋め込む
- さまざまな PDF リーダーで出力をテストする
- 大きな PDF はストリーミングで処理する
- タスクの複雑さに応じたライブラリを使用する
- アクセシビリティを考慮する(タグ付き PDF)
アンチパターン
| アンチパターン | 問題 | 適切な方法 |
|---|---|---|
| 画像のみの PDF | 検索やアクセシビリティに対応できない | フォントを使ったテキストを使用する |
| フォントを埋め込まない | レンダリングの問題 | 必要なフォントを埋め込む |
| 大きな PDF をメモリに読み込む | クラッシュ | ストリーム処理する |
| 暗号化を無視する | セキュリティ/アクセスの問題 | 暗号化された PDF を処理する |
| タスクに不適切なツール | 過剰な設計 | 複雑さに合ったツールを選ぶ |
コメント
Markdown 対応