mcpField
C
convert-pdf-to-png

convert-pdf-to-png

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

convert-pdf-to-png について

convert-pdf-to-pngは、PDFの各ページをPNG画像に変換するスキルです。利用可能なシステムツールを先に試し、JavaScriptの代替手段も備えています。ページ、倍率、出力先、パスワードを指定できます。

主な機能

  1. 01PDFページをPNGに変換
  2. 02システムバックエンドを先に試しJSへ切り替え
  3. 03ページと出力先を指定
  4. 04レンダリング倍率を設定
  5. 05パスワード保護されたPDFに対応

活用シーン

  1. 01指定したPDFページの画像を作成
  2. 02システムツールで複雑なPDF図版を描画
  3. 03文字を読みやすくするため解像度を上げる
  4. 04パスワードを使って暗号化PDFを変換

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yrom/arxiv-paper-translator --skill convert-pdf-to-png

インストール後、Claude Code で/convert-pdf-to-pngを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

scripts/
.gitignore
convert-pdf-to-png.mjs
package.json

詳細

PDF を PNG に変換

PDF ファイルの各ページを PNG 画像に変換します。

バックエンドの選択

まずシステムツールを試してください(複雑な PDF のレンダリングに優れています)。その後、JS スクリプトにフォールバックします。

試用できるバックエンド:

  1. magick(ImageMagick)- Linux/MacOS
  2. mutool(MuPDF)- Linux/MacOS
  3. pdftoppm(Poppler)- Linux/MacOS
  4. sips(Scriptable Image Processing System)- MacOS のみ
  5. JS フォールバック(pdfjs)- <CURRENT_SKILL_DIR>/scripts/ ディレクトリ内

注意:すべてのバックエンドで、出力先ディレクトリに <pdf-name>_page_<N>.png が出力されるようにしてください。

システムバックエンドの使用例

# magick (ImageMagick) — density 144 ≈ scale 2x (72 * 2)
magick -density 144 paper.pdf -quality 90 paper_page_%d.png
# Note: magick outputs 0-based index; rename if 1-based is needed

# mutool (MuPDF) — resolution 144 ≈ scale 2x
mutool convert -o paper_page_%d.png -O resolution=144 paper.pdf

# pdftoppm (Poppler) — -r sets DPI
pdftoppm -png -r 144 paper.pdf paper_page
# Outputs paper_page-1.png, paper_page-2.png, etc.

# sips (macOS only) — convert a single-page PDF
sips -s format png paper.pdf --out paper_page_1.png

バックエンドによって、ファイル名のパターン(0 始まりか 1 始まりか、桁数の埋め方、区切り文字)が多少異なります。 後続の処理で厳密な <pdf-name>_page_<N>.png 形式が必要な場合は、変換後に名前を変更してください。

JS スクリプトの前提条件

依存関係は <CURRENT_SKILL_DIR>/scripts/package.json に記載されています。初回使用時にインストールしてください:

cd skills/convert-pdf-to-png/scripts && bun install 
# or npm install

JS スクリプトのクイックスタート

SCRIPT_DIR=skills/convert-pdf-to-png/scripts

# Convert all pages (default scale: 2.0x)
bun $SCRIPT_DIR/convert-pdf-to-png.mjs paper.pdf

# Specify output directory
bun $SCRIPT_DIR/convert-pdf-to-png.mjs paper.pdf --output-dir ./output

# Convert specific pages with higher resolution
bun $SCRIPT_DIR/convert-pdf-to-png.mjs paper.pdf --pages 1,3,5 --scale 3

# Encrypted PDF
bun $SCRIPT_DIR/convert-pdf-to-png.mjs protected.pdf --password "secret"

JS スクリプトの CLI オプション

オプションデフォルト説明
--output-dir <dir>PDF と同じ場所PNG ファイルの出力ディレクトリ
--scale <number>2.0ビューポートの拡大率(値が大きいほど品質が上がり、ファイルサイズも大きくなります)
--pages <list>すべてページ番号(1 始まり)をカンマ区切りで指定
--password <string>-暗号化された PDF のパスワード

出力

ファイル名は次のパターンに従います:<pdf-name>_page_<N>.png

よくある問題

問題解決策
複雑な図が空白としてレンダリングされる(pdfjs)代わりに magick(ImageMagick)または mutool(MuPDF)を使用してください
Cannot find module 'pdf-to-png-converter'cd skills/convert-pdf-to-png/scripts && bun install
テキストの品質が低い--scale / DPI を上げてください(3.0 / 216 を試してください)
大きな PDF で OOM が発生するすべてのページではなく、--pages で特定のページを変換してください
暗号化された PDF の変換に失敗する--password(JS)、または -p(mutool)/ -upw(pdftoppm)を指定してください

コメント