pdf-to-images について
pdf-to-images は、ImageMagick を使って PDF の各ページを画像に変換するコマンドラインスキルです。スライドの抽出、プレビュー作成、後続処理用の画像準備に使え、解像度と出力形式を設定できます。
主な機能
- 01PDF の各ページを画像に変換
- 02PNG、JPG、TIFF で出力
- 03DPI と JPEG 品質を設定
- 04複数ページを自動処理
- 05ページ番号順にファイルを命名
活用シーン
- 01プレゼンテーションのスライドを画像化
- 02PDF の画像プレビューを作成
- 03後続分析向けにページ画像を準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ crazynomad/ skills --skill pdf-to-imagesインストール後、Claude Code で/pdf-to-imagesを入力して読み込まれたか確認します。
同梱ファイルscripts/pdf_to_images.py
詳細
PDF から画像へのコンバーター
ImageMagick を使用して PDF ファイルを一連の画像に変換します。
説明
PDF ドキュメントを 1 ページにつき 1 枚の個別の PNG 画像に変換する、シンプルかつ強力なツールです。プレゼンテーションからのスライド抽出、画像プレビューの作成、またはさらなる分析のための PDF コンテンツの処理に役立ちます。
使用する場面
以下のような場合にこのスキルを使用します:
- PDF を画像に変換したい
- PDF プレゼンテーションからスライドを抽出する必要がある
- 「PDF 转图片」「拆解 PDF」「PDF to PNG」と言及された
- PDF ドキュメントから画像プレビューを作成したい
- 複数ページの PDF から個別のページ画像が必要
機能
- ImageMagick 搭載: 業界標準の画像処理
- 設定可能な DPI: 出力解像度を調整可能(デフォルト: 150 DPI)
- 複数形式: PNG、JPG、TIFF 出力に対応
- バッチ処理: 複数ページの PDF を自動的に処理
- 連番命名: 出力ファイルはページ番号付きで命名(slide-00、slide-01 など)
使用方法
基本構文
python scripts/pdf_to_images.py "PDF_FILE" [-o OUTPUT_DIR] [-d DPI] [-f FORMAT]
一般的なシナリオ
PDF を PNG 画像に変換(デフォルト):
python scripts/pdf_to_images.py "presentation.pdf"
出力ディレクトリを指定:
python scripts/pdf_to_images.py "document.pdf" -o ./output-images
高解像度出力(300 DPI):
python scripts/pdf_to_images.py "document.pdf" -d 300
JPEG として出力:
python scripts/pdf_to_images.py "document.pdf" -f jpg -q 90
引数
pdf_file(必須): PDF ファイルへのパス-o, --output: 出力ディレクトリ(デフォルト: PDF と同じディレクトリ、-slidesサフィックス付き)-d, --dpi: DPI 単位の解像度(デフォルト: 150)-f, --format: 出力形式: png、jpg、tiff(デフォルト: png)-q, --quality: JPEG 品質 1〜100(デフォルト: 85、jpg 形式のみ)-p, --prefix: 出力ファイル名のプレフィックス(デフォルト: slide)
依存関係
システムに ImageMagick がインストールされている必要があります:
macOS:
brew install imagemagick
Ubuntu/Debian:
sudo apt-get install imagemagick
Windows: https://imagemagick.org/script/download.php からダウンロードしてください
出力構造
output-directory/
├── slide-00.png # Page 1
├── slide-01.png # Page 2
├── slide-02.png # Page 3
└── ...
Claude 連携
ユーザーが PDF から画像への変換を要求した場合:
-
ImageMagick の利用可否を確認:
which magick || which convert -
変換を実行:
python /mnt/skills/user/pdf-to-images/scripts/pdf_to_images.py \ "USER_PDF_FILE" -o /mnt/user-data/outputs -d 150 -
ユーザーにファイルを提示:
present_files(["/mnt/user-data/outputs/..."])
仕組み
ワークフロー
- 検証: PDF ファイルが存在し、ImageMagick が利用可能であることを確認
- 出力ディレクトリの作成: 存在しない場合は出力フォルダを作成
- 変換: ImageMagick を使用して各ページを画像に変換
- レポート: 生成されたファイルと合計数を表示
ImageMagick コマンド
スクリプトは以下を使用します:
magick -density {DPI} "{input.pdf}" "{output_dir}/{prefix}-%02d.{format}"
または古い ImageMagick (v6) の場合:
convert -density {DPI} "{input.pdf}" "{output_dir}/{prefix}-%02d.{format}"
制限事項
- システムに ImageMagick がインストールされている必要があります
- 大きな PDF は処理に時間がかかる場合があります
- メモリ使用量は PDF の複雑さと DPI 設定に依存します
- 一部の保護された PDF は変換できない場合があります
よくある問題
Q: 「convert: not authorized」エラーが発生しますか? A: ImageMagick のポリシーファイルを編集して PDF の読み取りを許可してください:
sudo sed -i 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"/' /etc/ImageMagick-*/policy.xml
Q: 出力画像が小さすぎる/大きすぎますか?
A: -d フラグで DPI を調整してください。150 DPI は画面に、300 DPI は印刷に適しています。
Q: 変換が遅いですか?
A: DPI を下げると処理時間が短縮されます。より高速な変換には -d 100 を試してください。
会話例
ユーザー: 「帮我把这个 PDF 拆解成图片: presentation.pdf」
Claude:
# Check ImageMagick
which magick || which convert
# Convert PDF to images
python /mnt/skills/user/pdf-to-images/scripts/pdf_to_images.py \
"presentation.pdf" \
-o ./presentation-slides \
-d 150
# Present files
present_files(["./presentation-slides/slide-00.png", ...])
バージョン履歴
v1.0 (現在)
- ImageMagick ベースの PDF 変換
- 設定可能な DPI と形式
- 出力ディレクトリの自動作成
- PNG、JPG、TIFF 形式に対応
ライセンス
個人利用ツール。PDF ドキュメントの著作権を尊重します。