mcpField
P
pdf-to-images

pdf-to-images

github.com/crazynomadドキュメント27122 回インストール13 週間前に更新
リポジトリ

pdf-to-images について

pdf-to-images は、ImageMagick を使って PDF の各ページを画像に変換するコマンドラインスキルです。スライドの抽出、プレビュー作成、後続処理用の画像準備に使え、解像度と出力形式を設定できます。

主な機能

  1. 01PDF の各ページを画像に変換
  2. 02PNG、JPG、TIFF で出力
  3. 03DPI と JPEG 品質を設定
  4. 04複数ページを自動処理
  5. 05ページ番号順にファイルを命名

活用シーン

  1. 01プレゼンテーションのスライドを画像化
  2. 02PDF の画像プレビューを作成
  3. 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 から画像への変換を要求した場合:

  1. ImageMagick の利用可否を確認:

    which magick || which convert
    
  2. 変換を実行:

    python /mnt/skills/user/pdf-to-images/scripts/pdf_to_images.py \
      "USER_PDF_FILE" -o /mnt/user-data/outputs -d 150
    
  3. ユーザーにファイルを提示:

    present_files(["/mnt/user-data/outputs/..."])
    

仕組み

ワークフロー
  1. 検証: PDF ファイルが存在し、ImageMagick が利用可能であることを確認
  2. 出力ディレクトリの作成: 存在しない場合は出力フォルダを作成
  3. 変換: ImageMagick を使用して各ページを画像に変換
  4. レポート: 生成されたファイルと合計数を表示
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 ドキュメントの著作権を尊重します。

コメント