pdf-reader

Reads PDF files and extracts text content in Markdown format. Handles tables and multi-page documents. Use when needing to read PDF documents. Requires…

INSTALLATION
npx skills add https://github.com/childbamboo/claude-code-marketplace-sample --skill pdf-reader
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

PDF Reader

PDF ファイルをテキスト抽出して Markdown 形式に変換するスキルです。

クイックスタート

基本的な使い方

# WSL環境でPythonスクリプトを実行

wsl python3 scripts/read_pdf.py "/mnt/c/path/to/file.pdf"

Markdown形式で保存

  • スクリプトでテキスト抽出
  • Write ツールで .md ファイルに保存

前提条件

pdfplumber パッケージが必要です:

wsl pip3 install pdfplumber

使用例

例1: PDF ファイルを読み込んで内容を表示

User: "C:\Users\keita\repos\guideline.pdf を読み込んで"

Assistant:

1. Windowsパスを WSL パスに変換: /mnt/c/Users/keita/repos/guideline.pdf

2. wsl python3 scripts/read_pdf.py を実行

3. 抽出されたテキストを Markdown 形式で表示

例2: PDF を Markdown に変換して保存

User: "ガイドライン.pdf を Markdown に変換して保存"

Assistant:

1. scripts/read_pdf.py でテキスト抽出

2. Markdown形式で構造化(ページごとに見出し、テーブルも含む)

3. Write ツールで ガイドライン.md に保存

4. 保存完了を報告

ワークフロー

単一ファイルの読み込み

  • ユーザーが PDF ファイルパスを指定
  • Windows パスを WSL パス形式に変換 (C:\/mnt/c/)
  • wsl python3 scripts/read_pdf.py を実行
  • 抽出されたテキストを Markdown 形式で表示または保存

複数ファイルの一括処理

  • Glob で .pdf ファイルを検索
  • 各ファイルに対してスクリプトを実行
  • 結果をまとめて報告

出力形式

Markdown 構造

# [PDFファイル名]

**Total Pages:** 10

---

## Page 1

[ページ1のテキスト内容]

### Tables

**Table 1:**

| 列1 | 列2 | 列3 |

| --- | --- | --- |

| データ1 | データ2 | データ3 |

---

## Page 2

[ページ2のテキスト内容]

---

スクリプト詳細

Python スクリプトは scripts/read_pdf.py に配置されています。

主な機能:

  • ページごとのテキスト抽出
  • テーブルの Markdown 化
  • 複数ページの構造化
  • エラーハンドリング

使い方:

python scripts/read_pdf.py <file_path>

対応機能

  • ✅ テキスト抽出(全ページ)
  • ✅ テーブルの Markdown 化
  • ✅ ページ番号の保持
  • ✅ 構造化された出力
  • ⚠️ 画像からのテキスト抽出(OCR未対応)
  • ⚠️ 複雑なレイアウトは簡略化

制限事項

  • スキャンされた PDF(画像のみ)からはテキスト抽出不可
  • OCR 機能は含まれません
  • 複雑なレイアウトは簡略化されます
  • フォント情報、色などのスタイルは失われます
  • 埋め込みオブジェクトは抽出されません

トラブルシューティング

pdfplumber がインストールされていない

wsl pip3 install pdfplumber

テキストが抽出されない

  • PDF がスキャン画像の可能性があります(OCR が必要)
  • PDF が暗号化されている可能性があります
  • テキストレイヤーがない PDF かもしれません

文字化けする

# 日本語対応の確認

wsl locale

# UTF-8 が含まれていることを確認

メモリ不足エラー

大きな PDF ファイルの場合、ページごとに分割して処理することを検討してください。

パス変換

Windows パスから WSL パスへの変換:

  • C:\Users\.../mnt/c/Users/...
  • D:\Projects\.../mnt/d/Projects/...
  • バックスラッシュ \ をスラッシュ / に変換

関連ツール

  • PyPDF2: 軽量な代替ライブラリ
  • pdfminer.six: より詳細な制御が必要な場合
  • Camelot: テーブル抽出特化
  • OCRmyPDF: スキャン PDF に OCR を適用

高度な使い方

特定のページのみ抽出

スクリプトを修正して pdf.pages[0:5] のようにスライスを使用できます。

テーブルのみ抽出

スクリプト内の extract_tables() 部分のみを使用します。

OCR が必要な場合

pytesseract と pdf2image を組み合わせて使用します(別スキルとして作成推奨)。

バージョン履歴

  • v1.0.0 (2026-01-06): 初期リリース
  • 基本的なテキスト抽出機能
  • テーブル Markdown 化対応
  • WSL環境での動作
  • ページごとの構造化
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card