PLUGIN : Rapls PDF Image Creator
Rapls PDF Image Creator wordpress.org から最新版をダウンロード
WordPress.org 公式リポジトリで公開しているプラグインの技術リファレンスページです。WordPress のメディアライブラリに PDF をアップロードすると、1 ページ目のカバー画像を ImageMagick で自動生成し、その PDF のアイキャッチ画像(featured image)として登録します。CMYK 色空間の PDF や PDF/X-1:2001 形式(印刷入稿用)にも対応しているため、印刷会社からの入稿用 PDF をそのまま公開しても、サムネイルが真っ黒にならない問題を回避できます。
ソースコード:GitHub – rapls/rapls-pdf-image-creator
開発の経緯(CMYK PDF 問題の解決、PDF-X ファイル対応の苦労話)は 開発者ガイドをご参照ください。
DEMO : PDF のサムネイル自動生成
PDF ファイルをアップロードすると、1 ページ目を JPEG / PNG / WebP に変換してサムネイルとして登録します。メディアライブラリでも、デフォルトの汎用 PDF アイコンの代わりに実際のサムネイルが表示されます。
例:catalog-2026.pdf をアップロードすると、catalog-2026-pdf.jpg というファイル名でフルサイズ画像が作られ、さらに WordPress に登録されている各サイズ(large、medium、thumbnail 等)も自動生成されます。
INSTALLATION : 設置方法
動作要件
- WordPress 5.0 以上
- PHP 7.4 以上
- ImageMagick + Imagick PHP 拡張モジュール(PDF サポート付き)
サーバー要件の確認
このプラグインを動作させるには、サーバーに ImageMagick がインストールされていて、かつ Imagick PHP 拡張モジュールが PDF サポート付きで有効化されている必要があります。多くの共有レンタルサーバーでは標準で対応しています。
確認方法:「設定 > Rapls PDF Image Creator > Status」タブから動作確認できます。「ImageMagick: Not available」と表示される場合は、レンタルサーバーのサポートに問い合わせるか、別のプラグインの利用をご検討ください。
セットアップ手順
rapls-pdf-image-creatorフォルダを/wp-content/plugins/にアップロード- WordPress 管理画面の「プラグイン」メニューから有効化
- 「設定 > Rapls PDF Image Creator」を開く
- Status タブで ImageMagick が利用可能か確認
- メディアライブラリに PDF をアップロードして動作確認
設定画面で生成サイズや品質を調整できますが、デフォルト設定のままでも動作します。
FEATURES : 機能一覧
1. PDF アップロード時の自動サムネイル生成
PDF をメディアライブラリにアップロードすると、その瞬間に 1 ページ目を画像化してサムネイルを生成します。手動操作は不要です。
2. アイキャッチ画像(Featured Image)として自動登録
生成された画像は、PDF 自身のアイキャッチ画像として自動登録されます。
get_post_thumbnail_id( $pdf_id )でサムネイル ID を取得可能wp_get_attachment_image( $pdf_id, 'medium' )で直接表示可能- 投稿のアイキャッチ画像として PDF を選ぶことも可能
3. 複数サイズの自動生成
WordPress に登録されているすべての画像サイズで自動生成されます:
my-document-pdf.jpg(フルサイズ)my-document-pdf-1024x768.jpg(large)my-document-pdf-300x225.jpg(medium)my-document-pdf-150x150.jpg(thumbnail)- テーマで追加されたカスタムサイズ
レスポンシブ画像(srcset)にも対応します。
4. メディアライブラリの統合
メディアライブラリで各 PDF が個別のサムネイルで表示されます。デフォルトの汎用 PDF アイコンの代わりになります。設定でこの機能をオフにすることもできます。
5. エディター統合(クラシック・ブロック両対応)
クラシックエディターおよびブロックエディターから「PDF を挿入」したときに、自動的にサムネイル付きのリンクとして挿入されます。
挿入オプションは 3 種類:
- Image only:サムネイル画像のみ(PDF へのリンク付き)
- Title link:タイトルテキスト+ PDF へのリンク
- Custom HTML:プレースホルダー(
{thumbnail}、{pdf_url}、{pdf_title})を使った独自 HTML
6. Bulk Generate(既存 PDF の一括処理)
プラグインを後から導入した場合の既存 PDF を一括処理できます。「設定 > Bulk Generate」タブから実行可能です。
7. 柔軟な出力フォーマット(JPEG / PNG / WebP)
サムネイルの出力フォーマットを 3 種類から選べます:
- JPEG:互換性が高い(デフォルト推奨)
- PNG:透過背景が必要な場合
- WebP:ファイルサイズ重視(モダンブラウザのみ)
8. CMYK / PDF/X 対応
印刷入稿用の PDF(CMYK 色空間、PDF/X-1:2001 など)でも正しくサムネイルが生成されます。CMYK → sRGB の色空間変換を行うため、印刷用 PDF が「真っ黒なサムネイル」になる問題を回避できます。1.0.9 以降の機能です。
9. アンインストール時のクリーンアップ
プラグインアンインストール時に、生成したサムネイル画像を削除するかどうか選択できます。
- デフォルト:アンインストール時に削除
- オプション:「Keep Images on Uninstall」を ON にすれば保持
SETTINGS : プラグイン設定画面
WordPress の管理画面「設定 > Rapls PDF Image Creator」から設定します。
Image Settings タブ
- Max Width / Max Height:サムネイルの最大サイズ(デフォルト 1024 × 768)
- Quality:JPEG / WebP 品質(1〜100、デフォルト 80)
- Format:JPEG / PNG / WebP
- Background Color:背景色(透過、白、カスタムカラー)
- PDF Page:何ページ目を使うか(デフォルト:1 ページ目)
Display Settings タブ
- Hide Thumbnails in Media Library:生成されたサムネイル画像をメディアライブラリで非表示にする(デフォルト:オン)
- Replace Default PDF Icon:メディアライブラリのデフォルト PDF アイコンをサムネイルで置き換える(デフォルト:オン)
- Allow PDF as Featured Image:PDF を投稿のアイキャッチ画像として選択可能にする(デフォルト:オン)
- Keep Images on Uninstall:アンインストール時にサムネイル画像を保持する(デフォルト:オフ)
Insert Settings タブ
エディターからの挿入時の動作を設定します。
- Insert Output Type:Image only / Title link / Custom HTML
- Custom HTML Template(Custom 選択時):
{thumbnail}、{pdf_url}、{pdf_title}を使ってカスタマイズ
Bulk Generate タブ
既存 PDF のサムネイルを一括生成します。実行前に状態(処理対象数)を確認できます。
Status タブ
サーバー要件のチェック結果を表示します:
- ImageMagick(Imagick PHP 拡張)の有無
- PDF サポートの有無
- ImageMagick のバージョン
- 利用可能なフォーマット
- サポートリンク(Buy Me a Coffee、レビュー)
TEMPLATE : テンプレート内での出力方法
サムネイル付きリンクを表示
|
1 2 3 4 5 6 |
$pdf_id = 123; if ( rapls_pic_has_thumbnail( $pdf_id ) ) { echo '<a href="' . esc_url( wp_get_attachment_url( $pdf_id ) ) . '" target="_blank" class="pdf-link">'; echo rapls_pic_get_thumbnail_image( $pdf_id, 'medium' ); echo '</a>'; } |
投稿に添付された PDF をすべて表示
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$pdfs = get_posts( array( 'post_type' => 'attachment', 'post_mime_type' => 'application/pdf', 'post_parent' => get_the_ID(), 'posts_per_page' => -1, ) ); foreach ( $pdfs as $pdf ) { if ( rapls_pic_has_thumbnail( $pdf->ID ) ) { printf( '<a href="%s">%s</a>', esc_url( wp_get_attachment_url( $pdf->ID ) ), rapls_pic_get_thumbnail_image( $pdf->ID, 'thumbnail' ) ); } } |
アイキャッチが PDF サムネイルの場合の特別処理
|
1 2 3 4 5 6 7 8 9 |
$thumb_id = get_post_thumbnail_id( get_the_ID() ); $pdf_id = get_post( $thumb_id )->post_parent; if ( $pdf_id && get_post_mime_type( $pdf_id ) === 'application/pdf' ) { echo '<a href="' . esc_url( wp_get_attachment_url( $pdf_id ) ) . '" target="_blank">'; the_post_thumbnail(); echo '</a>'; } else { the_post_thumbnail(); } |
SHORTCODES : ショートコード
サムネイル画像のみ
|
1 2 |
[rapls_pdf_thumbnail id="123"] [rapls_pdf_thumbnail id="123" size="medium"] |
サムネイル付きリンク(PDF へ)
|
1 |
[rapls_pdf_clickable_thumbnail id="123"] |
サムネイル URL のみ取得
|
1 |
[rapls_pdf_thumbnail_url id="123" size="medium"] |
ダウンロードリンク(サムネイル付き)
|
1 |
[rapls_pdf_download_link id="123"] |
FAQ : よくある質問
サーバー要件は何ですか?
ImageMagick + Imagick PHP 拡張モジュール(PDF サポート付き)が必要です。多くの共有レンタルサーバーで対応しています。
サーバーが対応しているか確認するには?
「設定 > Rapls PDF Image Creator > Status」タブを確認してください。ImageMagick が利用可能かどうかが表示されます。
インストール前の PDF のサムネイルも作れますか?
はい。Bulk Generate タブで一括処理できます。
画像フォーマットは何が選べますか?
JPEG、PNG、WebP の 3 種類から選べます。デフォルトは JPEG です。
アンインストール時にサムネイルは消えますか?
デフォルトでは消えます。「Keep Images on Uninstall」を ON にすると残ります。
PDF の何ページ目をサムネイルにしますか?
デフォルトは 1 ページ目(0-indexed の 0)です。フィルターで変更可能:
|
1 2 3 |
add_filter( 'rapls_pdf_image_creator_thumbnail_page', function( $page, $pdf_id ) { return 1; // 2 ページ目を使う }, 10, 2 ); |
CMYK の PDF がちゃんとサムネイルになりません(真っ黒)
1.0.9 以降では CMYK → sRGB の色空間変換が入っており、印刷用 PDF(PDF/X-1:2001 等)でも正しくサムネイルが生成されます。それでも問題が出る場合は、特定の PDF ファイルが ImageMagick で読めない可能性があります。
大量の PDF を一括処理するときの注意点は?
Bulk Generate で 100 件以上を処理するとき、PHP の max_execution_time に引っかかる可能性があります。プラグインは Ajax で小分けに処理するので通常は問題ありませんが、サーバーの設定によってはタイムアウトすることがあります。その場合は、Bulk Generate タブで小分けに(10〜20 件ずつ)処理してください。
画像が荒い場合はどうすればいいですか?
「Image Settings」タブで以下を調整:
- Max Width / Max Height:大きめに設定(例:2000 × 1500)
- Quality:90〜95 に上げる
ただし、画像サイズを大きくすると生成時間とファイルサイズが増えるので、用途に応じて調整してください。
似たプラグインとの違いは?
- CMYK / PDF-X 対応:本プラグインは色空間変換を内蔵しているので、印刷用 PDF がちゃんとサムネイルになる
- WebP 出力対応:JPEG / PNG / WebP の 3 形式
- WordPress.org のセキュリティ要件:本プラグインは GhostScript を使わず ImageMagick 単体で動作(1.0.5 以降)
- ブロックエディター統合:クラシック・ブロック両エディタから挿入可能
サポートはどこで受けられますか?
ADVANCED FILTERS : フィルターフック
functions.php にフィルターを設定して挙動をカスタマイズできます。
何ページ目を使うかを変更
|
1 2 3 |
add_filter( 'rapls_pdf_image_creator_thumbnail_page', function( $page, $pdf_id ) { return 2; // 3 ページ目(0-indexed) }, 10, 2 ); |
最大サイズの動的変更
|
1 2 3 4 5 6 7 |
add_filter( 'rapls_pdf_image_creator_thumbnail_max_width', function( $width, $pdf_id ) { return 2400; }, 10, 2 ); add_filter( 'rapls_pdf_image_creator_thumbnail_max_height', function( $height, $pdf_id ) { return 1800; }, 10, 2 ); |
品質を動的に変更
|
1 2 3 |
add_filter( 'rapls_pdf_image_creator_thumbnail_quality', function( $quality, $pdf_id ) { return 95; }, 10, 2 ); |
出力フォーマットの動的変更
|
1 2 3 4 5 6 7 |
add_filter( 'rapls_pdf_image_creator_thumbnail_format', function( $format, $pdf_id ) { $file_size = filesize( get_attached_file( $pdf_id ) ); if ( $file_size > 5 * 1024 * 1024 ) { return 'webp'; } return $format; }, 10, 2 ); |
背景色の指定
|
1 2 3 |
add_filter( 'rapls_pdf_image_creator_thumbnail_bgcolor', function( $color, $pdf_id ) { return '#f5f5f5'; }, 10, 2 ); |
img タグの属性を変更
|
1 2 3 4 5 |
add_filter( 'rapls_pdf_image_creator_thumbnail_image_attributes', function( $attrs, $pdf_id, $size ) { $attrs['class'] = 'pdf-thumbnail-custom rounded shadow'; $attrs['loading'] = 'lazy'; return $attrs; }, 10, 3 ); |
挿入 HTML のカスタマイズ
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
add_filter( 'rapls_pdf_image_creator_custom_insert_html', function( $html, $pdf_id, $thumbnail ) { $pdf_url = wp_get_attachment_url( $pdf_id ); $pdf_title = get_the_title( $pdf_id ); return sprintf( '<div class="pdf-card"> <a href="%s" target="_blank">%s</a> <h4>%s</h4> <a href="%s" download class="btn btn-download">ダウンロード</a> </div>', esc_url( $pdf_url ), $thumbnail, esc_html( $pdf_title ), esc_url( $pdf_url ) ); }, 10, 3 ); |
ACTION HOOKS : アクションフック
生成前の処理
|
1 2 3 |
add_action( 'rapls_pdf_image_creator_before_generate', function( $pdf_id ) { error_log( "PDF thumbnail generation starting for ID: {$pdf_id}" ); } ); |
生成成功時の処理
|
1 2 3 4 |
add_action( 'rapls_pdf_image_creator_after_generate', function( $pdf_id, $thumbnail_id ) { update_post_meta( $pdf_id, '_thumbnail_generated_at', current_time( 'mysql' ) ); update_post_meta( $pdf_id, '_thumbnail_id', $thumbnail_id ); }, 10, 2 ); |
生成失敗時の処理
|
1 2 3 4 5 6 7 |
add_action( 'rapls_pdf_image_creator_generation_failed', function( $pdf_id, $error ) { wp_mail( get_option( 'admin_email' ), 'PDF サムネイル生成失敗', sprintf( "PDF ID: %d\nError: %s", $pdf_id, $error ) ); }, 10, 2 ); |
CHANGE LOG : バージョン履歴
- 1.0.9.5Plugin URI を新しいプラグインページ (https://raplsworks.com/plugins/rapls-pdf-image-creator/) に更新しました。
- 1.0.9.4WordPress 6.5+ で
.l10n.php翻訳ファイル不在時の PHP 警告を解消。PHP 最適化された翻訳ファイル(ja.l10n.php)を追加して翻訳ロードを高速化。グローバルパス警告を回避するためプラグインディレクトリから翻訳を直接ロード。無効化・アンインストール時に翻訳ファイルキャッシュをクリアして古いファイル参照を防止。 - 1.0.9.3WordPress 6.5+ で
.l10n.php翻訳ファイル不在時の PHP 警告を解消。PHP 最適化された翻訳ファイル(ja.l10n.php)を追加して翻訳ロードを高速化。プラグインディレクトリから翻訳を確実にロードするためload_plugin_textdomain()を復活。 - 1.0.9.2Status タブのサポートセクションにレビューリンクを追加。Plugin URI を新ガイドページ(
/rapls-pdf-image-creator-guide/)に更新。 - 1.0.9PDF/X-1:2001 形式の PDF が真っ黒なサムネイルになる問題を修正。印刷入稿用 PDF 向けに CMYK → sRGB の色空間変換を追加。
- 1.0.8PDF 添付詳細でサムネイル URL ではなく PDF URL を表示するように修正。生成サムネイルの添付詳細でもソース PDF URL を表示。「URL をクリップボードにコピー」が PDF・サムネイルともに PDF URL をコピーするように修正。生成サムネイルが AJAX メディアライブラリクエリで適切に非表示に。非推奨の
load_plugin_textdomain()呼び出しを削除(WordPress 4.6 以降は自動)。日本語翻訳を WordPress 翻訳スタイルガイドに準拠するように更新。 - 1.0.6Status タブにサポートリンク(Buy Me a Coffee)を追加。PHP 7.4 互換性修正(readonly properties / match expressions を削除)。セキュリティ向上:
error_log()はWP_DEBUG有効時のみ実行。有効化/無効化フックからflush_rewrite_rules()を削除。admin_url()を使って AJAX URL を単純化。カスタム HTML 出力にwp_kses_post()サニタイゼーションを追加。 - 1.0.5GhostScript エンジンサポートを削除(WordPress.org セキュリティ要件)。ImageMagick(Imagick PHP 拡張)専用に。Status タブにサーバー要件チェックを追加。ImageMagick 未対応時の管理画面通知を改善。設定からエンジン選択を削除して単純化。
- 1.0.4名前空間を
Rapls\PDFImageCreatorに変更(一意性確保)。全プレフィックスをrapls_pic_に統一(WordPress.org 準拠)。ショートコード名をpdf_*からrapls_pdf_*に変更。AJAX エラーレスポンスからファイルパス情報を削除(セキュリティ)。メタキーを_rapls_pic_プレフィックスに更新。 - 1.0.3プラグイン名を「Rapls PDF Image Creator」に変更。プラグインスラッグを「rapls-pdf-image-creator」に。非推奨の
imagedestroy()を削除(PHP 8.0+ 互換性)。 - 1.0.2WordPress.org 準拠のため translators コメントの位置を修正。
- 1.0.1WordPress Plugin Check 互換性問題を修正。適切な入力サニタイゼーションでセキュリティ向上。非標準ポートでの AJAX CORS 問題を修正。WordPress コーディング標準に準拠。
- 1.0.0初回リリース。PDF アップロード時の自動サムネイル生成、ImageMagick エンジン対応、Bulk thumbnail generation、Featured image 対応、Block editor 統合、ショートコード・テンプレート関数、設定可能な画像オプション、日本語翻訳付属。
RELATED PAGES : 関連ページ
- プラグイン一覧
- Rapls PDF Image Creator 開発者ガイド – CMYK PDF 問題の解決体験、ImageMagick のバージョン依存トラブル




