pdf-reader

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

PDF Reader

PDF Reader

PDF ファイルをテキスト抽出して Markdown 形式に変換するスキルです。
这是一款可以提取PDF文件文本并转换为Markdown格式的工具。

クイックスタート

快速开始

基本的な使い方

基本用法

bash
undefined
bash
undefined

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

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

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

Markdown形式で保存

保存为Markdown格式

  1. スクリプトでテキスト抽出
  2. Write ツールで .md ファイルに保存
  1. 使用脚本提取文本
  2. 使用Write工具保存为.md文件

前提条件

前提条件

pdfplumber パッケージが必要です:
bash
wsl pip3 install pdfplumber
需要安装pdfplumber包:
bash
wsl pip3 install pdfplumber

使用例

使用示例

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

示例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 形式で表示
用户:"读取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 に変換して保存

示例2:将PDF转换为Markdown并保存

User: "ガイドライン.pdf を Markdown に変換して保存"
Assistant:
1. scripts/read_pdf.py でテキスト抽出
2. Markdown形式で構造化(ページごとに見出し、テーブルも含む)
3. Write ツールで ガイドライン.md に保存
4. 保存完了を報告
用户:"将ガイドライン.pdf转换为Markdown并保存"
Assistant:
1. 使用scripts/read_pdf.py提取文本
2. 以Markdown格式结构化(按页面添加标题,包含表格)
3. 使用Write工具保存为ガイドライン.md
4. 报告保存完成

ワークフロー

工作流程

単一ファイルの読み込み

单文件读取

  1. ユーザーが PDF ファイルパスを指定
  2. Windows パスを WSL パス形式に変換 (
    C:\
    /mnt/c/
    )
  3. wsl python3 scripts/read_pdf.py
    を実行
  4. 抽出されたテキストを Markdown 形式で表示または保存
  1. 用户指定PDF文件路径
  2. 将Windows路径转换为WSL路径格式(
    C:\
    /mnt/c/
  3. 执行
    wsl python3 scripts/read_pdf.py
  4. 以Markdown格式显示或保存提取的文本

複数ファイルの一括処理

多文件批量处理

  1. Glob で .pdf ファイルを検索
  2. 各ファイルに対してスクリプトを実行
  3. 結果をまとめて報告
  1. 使用Glob搜索.pdf文件
  2. 对每个文件执行脚本
  3. 汇总结果并报告

出力形式

输出格式

Markdown 構造

Markdown结构

markdown
undefined
markdown
undefined

[PDFファイル名]

[PDFファイル名]

Total Pages: 10

Total Pages: 10

Page 1

Page 1

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

Tables

Tables

Table 1:
列1列2列3
データ1データ2データ3

Table 1:
列1列2列3
データ1データ2データ3

Page 2

Page 2

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

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

undefined

スクリプト詳細

脚本详情

Python スクリプトは
scripts/read_pdf.py
に配置されています。
主な機能:
  • ページごとのテキスト抽出
  • テーブルの Markdown 化
  • 複数ページの構造化
  • エラーハンドリング
使い方:
bash
python scripts/read_pdf.py <file_path>
Python脚本位于
scripts/read_pdf.py
主要功能:
  • 按页面提取文本
  • 将表格转换为Markdown格式
  • 多页内容结构化
  • 错误处理
用法:
bash
python scripts/read_pdf.py <file_path>

対応機能

支持功能

  • ✅ テキスト抽出(全ページ)
  • ✅ テーブルの Markdown 化
  • ✅ ページ番号の保持
  • ✅ 構造化された出力
  • ⚠️ 画像からのテキスト抽出(OCR未対応)
  • ⚠️ 複雑なレイアウトは簡略化
  • ✅ 全页面文本提取
  • ✅ 表格转Markdown
  • ✅ 保留页码
  • ✅ 结构化输出
  • ⚠️ 图片文本提取(不支持OCR)
  • ⚠️ 复杂布局会被简化

制限事項

限制事项

  • スキャンされた PDF(画像のみ)からはテキスト抽出不可
  • OCR 機能は含まれません
  • 複雑なレイアウトは簡略化されます
  • フォント情報、色などのスタイルは失われます
  • 埋め込みオブジェクトは抽出されません
  • 无法从扫描版PDF(仅图片)中提取文本
  • 不包含OCR功能
  • 复杂布局会被简化
  • 字体信息、颜色等样式会丢失
  • 无法提取嵌入对象

トラブルシューティング

故障排除

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

未安装pdfplumber

bash
wsl pip3 install pdfplumber
bash
wsl pip3 install pdfplumber

テキストが抽出されない

无法提取文本

  • PDF がスキャン画像の可能性があります(OCR が必要)
  • PDF が暗号化されている可能性があります
  • テキストレイヤーがない PDF かもしれません
  • 该PDF可能是扫描图片(需要OCR)
  • 该PDF可能已加密
  • 该PDF可能没有文本层

文字化けする

出现乱码

bash
undefined
bash
undefined

日本語対応の確認

确认日语支持

wsl locale
wsl locale

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

确认包含UTF-8

undefined
undefined

メモリ不足エラー

内存不足错误

大きな PDF ファイルの場合、ページごとに分割して処理することを検討してください。
对于大体积PDF文件,建议考虑按页面拆分处理。

パス変換

路径转换

Windows パスから WSL パスへの変換:
  • C:\Users\...
    /mnt/c/Users/...
  • D:\Projects\...
    /mnt/d/Projects/...
  • バックスラッシュ
    \
    をスラッシュ
    /
    に変換
Windows路径转WSL路径:
  • C:\Users\...
    /mnt/c/Users/...
  • D:\Projects\...
    /mnt/d/Projects/...
  • 将反斜杠
    \
    转换为斜杠
    /

関連ツール

相关工具

  • PyPDF2: 軽量な代替ライブラリ
  • pdfminer.six: より詳細な制御が必要な場合
  • Camelot: テーブル抽出特化
  • OCRmyPDF: スキャン PDF に OCR を適用
  • PyPDF2: 轻量替代库
  • pdfminer.six: 需要更精细控制时使用
  • Camelot: 专注于表格提取
  • OCRmyPDF: 为扫描版PDF添加OCR

高度な使い方

高级用法

特定のページのみ抽出

仅提取特定页面

スクリプトを修正して
pdf.pages[0:5]
のようにスライスを使用できます。
可修改脚本,使用
pdf.pages[0:5]
这样的切片方式。

テーブルのみ抽出

仅提取表格

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

OCR が必要な場合

需要OCR时

pytesseract と pdf2image を組み合わせて使用します(別スキルとして作成推奨)。
建议结合pytesseract和pdf2image使用(推荐作为独立工具开发)。

バージョン履歴

版本历史

  • v1.0.0 (2026-01-06): 初期リリース
    • 基本的なテキスト抽出機能
    • テーブル Markdown 化対応
    • WSL環境での動作
    • ページごとの構造化
  • v1.0.0 (2026-01-06): 初始版本
    • 基础文本提取功能
    • 支持表格转Markdown
    • 支持WSL环境运行
    • 按页面结构化输出