PLUGIN
Rapls PDF Image Creatorは、WordPressのメディアライブラリにPDFファイルをアップロードする際に、自動的にサムネイル画像を生成するプラグインです。
ImageMagick(Imagick PHP拡張)を使用してPDFの表紙画像を生成し、アイキャッチ画像として設定したり、エディタに挿入したりすることができます。
ダウンロード:
WordPress.org プラグインページ
DEMO
PDFファイルをメディアライブラリにアップロードするだけで、自動的にサムネイル画像が生成されます。

生成されたサムネイルは、デフォルトのPDFアイコンの代わりに表示され、投稿やページに挿入する際にも使用できます。
INSTALLATION
- プラグインをダウンロードし、
/wp-content/plugins/ディレクトリにアップロードします
または、WordPressダッシュボードで「プラグイン」→「新規追加」を選択し、「Rapls PDF Image Creator」を検索し、インストールします - WordPress管理画面の「プラグイン」メニューからプラグインを有効化します
- 「設定」→「Rapls PDF Image Creator」で各種設定を行います
- 「ステータス」タブでPDF変換エンジンの利用可能状況を確認します
サーバー要件:
- ImageMagick(Imagick PHP拡張)+ PDF対応
多くの共用ホスティングでImageMagickは利用可能です。プラグイン設定の「ステータス」タブでサーバーが要件を満たしているか確認できます。
FEATURES
1. PDFアップロード時にサムネイルを自動生成
PDFファイルをメディアライブラリにアップロードすると、表紙ページの画像が自動的に生成されます。生成される画像は、WordPressで設定されている各サイズ(サムネイル、中、大、フルサイズ)に対応します。
2. アイキャッチ画像として自動設定
生成されたサムネイル画像は、PDFのアイキャッチ画像(post-thumbnail)として自動的に登録されます。設定画面でこの機能のオン/オフを切り替えられます。
3. メディアライブラリでサムネイル表示
管理画面のメディアライブラリで、デフォルトのPDFアイコンの代わりに生成したサムネイル画像を表示できます。
4. 生成画像をメディアライブラリから非表示
自動生成されたサムネイル画像をメディアライブラリの一覧から非表示にできます。PDFを削除すると、関連するサムネイル画像も自動的に削除されます。
5. エディタへの挿入時にサムネイルを使用
PDFをエディタに挿入する際、リンクテキストの代わりにサムネイル画像を使用できます。挿入形式は「画像のみ」「タイトルリンク」「カスタムHTML」から選択できます。
6. 既存PDFの一括サムネイル生成
プラグイン有効化前にアップロードされたPDFファイルに対しても、一括でサムネイルを生成できます。設定画面の「一括生成」タブから実行できます。
SETTINGS
画像設定
| 設定項目 | 説明 | デフォルト値 |
|---|---|---|
| 最大幅 | 生成画像の最大幅(px) | 1024 |
| 最大高さ | 生成画像の最大高さ(px) | 1024 |
| 品質 | JPEG/WebP画像の品質(10-100) | 90 |
| フォーマット | 出力画像形式(JPEG/PNG/WebP) | JPEG |
| 背景色 | 透明PDFの背景色(白/黒/透明) | 白 |
| ページ番号 | サムネイルに使用するページ(0始まり) | 0(1ページ目) |
表示設定
- サムネイルアイコンを表示 – メディアライブラリでPDFアイコンの代わりにサムネイルを表示
- 生成画像を非表示 – 生成されたサムネイル画像をメディアライブラリの一覧から非表示
- アンインストール時に画像を保持 – プラグイン削除時に生成画像を通常の画像として残す
挿入設定
- 画像 – サムネイル画像のみを挿入
- タイトル – PDFタイトルのテキストリンクを挿入
- カスタムHTML – 独自のHTMLテンプレートを使用
カスタムHTMLでは以下のプレースホルダーが使用できます:
{thumbnail}– サムネイル画像のimgタグ{pdf_url}– PDFファイルのURL{pdf_title}– PDFのタイトル{thumbnail_url}– サムネイル画像のURL
TEMPLATE
テンプレート関数
テーマファイル内でPDFサムネイルを表示するための関数が用意されています。
// サムネイルURLを取得
$url = rapls_pic_get_thumbnail_url( $pdf_id, 'medium' );
// サムネイルIDを取得
$thumbnail_id = rapls_pic_get_thumbnail_id( $pdf_id );
// サムネイル画像のHTMLを取得
$img = rapls_pic_get_thumbnail_image( $pdf_id, 'medium', array( 'class' => 'pdf-thumb' ) );
// サムネイルがあるか確認
if ( rapls_pic_has_thumbnail( $pdf_id ) ) {
// 処理
}
// サムネイルを生成
$thumbnail_id = rapls_pic_generate_thumbnail( $pdf_id, true ); // true = 強制再生成
投稿に添付されたPDFを一覧表示
<?php
$pdfs = get_posts( array(
'post_type' => 'attachment',
'post_mime_type' => 'application/pdf',
'post_parent' => get_the_ID(),
'posts_per_page' => -1,
) );
if ( $pdfs ) :
foreach ( $pdfs as $pdf ) :
if ( rapls_pic_has_thumbnail( $pdf->ID ) ) :
?>
<div class="pdf-item">
<a href="<?php echo wp_get_attachment_url( $pdf->ID ); ?>" target="_blank">
<?php echo rapls_pic_get_thumbnail_image( $pdf->ID, 'medium' ); ?>
</a>
<p><?php echo esc_html( $pdf->post_title ); ?></p>
</div>
<?php
endif;
endforeach;
endif;
?>
ショートコード
投稿やページ内で以下のショートコードが使用できます。
// サムネイル画像を表示
// サムネイルURLのみ出力
// PDFへのリンク付きサムネイル
// ダウンロードリンク(サムネイル+タイトル)
FILTERS
プラグインの動作をカスタマイズするためのフィルターフックが用意されています。
サムネイル生成設定の変更
// 2ページ目をサムネイルに使用
add_filter( 'rapls_pdf_image_creator_thumbnail_page', function( $page, $pdf_id ) {
return 1; // 0始まりなので1 = 2ページ目
}, 10, 2 );
// 最大幅を変更
add_filter( 'rapls_pdf_image_creator_thumbnail_max_width', function( $width, $pdf_id ) {
return 2048;
}, 10, 2 );
// 品質を変更
add_filter( 'rapls_pdf_image_creator_thumbnail_quality', function( $quality, $pdf_id ) {
return 95;
}, 10, 2 );
画像属性のカスタマイズ
add_filter( 'rapls_pdf_image_creator_thumbnail_image_attributes', function( $attr, $pdf_id, $thumbnail_id ) {
$attr['class'] .= ' lazyload pdf-thumbnail';
$attr['loading'] = 'lazy';
$attr['decoding'] = 'async';
return $attr;
}, 10, 3 );
利用可能なフィルター一覧
rapls_pdf_image_creator_thumbnail_page– 使用ページの変更rapls_pdf_image_creator_thumbnail_max_width– 最大幅の変更rapls_pdf_image_creator_thumbnail_max_height– 最大高さの変更rapls_pdf_image_creator_thumbnail_quality– 品質の変更rapls_pdf_image_creator_thumbnail_format– フォーマットの変更rapls_pdf_image_creator_thumbnail_bgcolor– 背景色の変更rapls_pdf_image_creator_thumbnail_image_attributes– 画像属性の変更rapls_pdf_image_creator_custom_insert_html– 挿入HTMLのカスタマイズrapls_pdf_image_creator_hide_thumbnails_in_library– ライブラリ非表示の制御rapls_pdf_image_creator_before_generate– 生成前アクションrapls_pdf_image_creator_after_generate– 生成後アクションrapls_pdf_image_creator_generation_failed– 生成失敗時アクション
SUPPORT
このプラグインが役に立った場合は、開発をサポートしていただけると幸いです。
CHANGELOG
1.0.6
- ステータスタブにサポートリンク(Buy Me a Coffee)を追加
- PHP 7.4互換性を修正(readonlyプロパティとmatch式を削除)
- セキュリティ改善:
error_log()をWP_DEBUG有効時のみに制限 - 有効化/無効化フックから
flush_rewrite_rules()を削除 - AJAX URLハンドリングを
admin_url()に簡素化 - カスタムHTML出力に
wp_kses_post()サニタイズを追加
1.0.5
- GhostScriptエンジンのサポートを削除(WordPress.orgセキュリティ要件)
- PDF変換にImageMagick(Imagick PHP拡張)のみを使用
- ステータスタブでのサーバー要件チェックを改善
- ImageMagick未対応時の管理画面通知を改善
- エンジン選択設定を削除し設定ページを簡素化
1.0.4
- ネームスペースを
Rapls\PDFImageCreatorに変更 - 全プレフィックスを
rapls_pic_に統一(WordPress.org準拠) - ショートコード名を
rapls_pdf_*に変更 load_plugin_textdomain()を追加- AJAXエラーレスポンスからファイルパス情報を削除(セキュリティ向上)
- 設定オプション名を
rapls_pic_settingsに変更 - メタキーを
_rapls_pic_*プレフィックスに変更
1.0.3
- プラグイン名を「Rapls PDF Image Creator」に変更
- プラグインスラッグを「rapls-pdf-image-creator」に変更
- Author URIをraplsworks.comに更新
- PHP 8.0+互換性のため非推奨の
imagedestroy()を削除 - 定数プレフィックスを
RAPLS_PIC_に変更 - フックプレフィックスを
rapls_pdf_image_creator_に変更
1.0.2
WordPress.org プラグインガイドライン準拠のための修正
1.0.1
- WordPress Plugin Check 互換性問題を修正
- セキュリティ改善:入力サニタイズとエスケープの追加
- 非標準ポートでのAJAX CORSエラーを修正
- フィルターフック名を
rapls_pdf_image_creator_プレフィックスに変更 - 非推奨の
load_plugin_textdomain()を削除 - WordPressコーディング規約に準拠
1.0.0
- 初回リリース
- PDFアップロード時の自動サムネイル生成
- ImageMagickエンジン対応
- 既存PDFの一括サムネイル生成
- アイキャッチ画像サポート
- ブロックエディタ対応
- ショートコード(4種類)
- テンプレート関数(5種類)
- 表示設定(サムネイルアイコン、生成画像非表示)
- 挿入設定(カスタムHTMLテンプレート対応)
- 画像設定(サイズ、品質、フォーマット、背景色)
- 日本語翻訳同梱


コメント