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

生成されたサムネイルは、デフォルトのPDFアイコンの代わりに表示され、投稿やページに挿入する際にも使用できます。
INSTALLATION
- プラグインをダウンロードし、
/wp-content/plugins/ディレクトリにアップロードします - WordPress管理画面の「プラグイン」メニューからプラグインを有効化します
- 「設定」→「PDF Image Creator」で各種設定を行います
- 「ステータス」タブでPDF変換エンジンの利用可能状況を確認します
サーバー要件:
以下のいずれかが必要です:
- ImageMagick(Imagick PHP拡張)+ PDF対応
- GhostScript
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 = pic_get_thumbnail_url( $pdf_id, 'medium' );
// サムネイルIDを取得
$thumbnail_id = pic_get_thumbnail_id( $pdf_id );
// サムネイル画像のHTMLを取得
$img = pic_get_thumbnail_image( $pdf_id, 'medium', array( 'class' => 'pdf-thumb' ) );
// サムネイルがあるか確認
if ( pic_has_thumbnail( $pdf_id ) ) {
// 処理
}
// サムネイルを生成
$thumbnail_id = 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 ( pic_has_thumbnail( $pdf->ID ) ) :
?>
<div class="pdf-item">
<a href="<?php echo wp_get_attachment_url( $pdf->ID ); ?>" target="_blank">
<?php echo pic_get_thumbnail_image( $pdf->ID, 'medium' ); ?>
</a>
<p><?php echo esc_html( $pdf->post_title ); ?></p>
</div>
<?php
endif;
endforeach;
endif;
?>
ショートコード
投稿やページ内で以下のショートコードが使用できます。
// サムネイル画像を表示
[pdf_thumbnail id="123" size="medium" class="my-class"]
// サムネイルURLのみ出力
[pdf_thumbnail_url id="123" size="medium"]
// PDFへのリンク付きサムネイル
[pdf_clickable_thumbnail id="123" size="medium" target="_blank"]
// ダウンロードリンク(サムネイル+タイトル)
[pdf_download_link id="123" size="thumbnail" text="ダウンロード"]
FILTERS
プラグインの動作をカスタマイズするためのフィルターフックが用意されています。
サムネイル生成設定の変更
// 2ページ目をサムネイルに使用
add_filter( 'pdf_image_creator_thumbnail_page', function( $page, $pdf_id ) {
return 1; // 0始まりなので1 = 2ページ目
}, 10, 2 );
// 最大幅を変更
add_filter( 'pdf_image_creator_thumbnail_max_width', function( $width, $pdf_id ) {
return 2048;
}, 10, 2 );
// 品質を変更
add_filter( 'pdf_image_creator_thumbnail_quality', function( $quality, $pdf_id ) {
return 95;
}, 10, 2 );
画像属性のカスタマイズ
add_filter( '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 );
利用可能なフィルター一覧
pdf_image_creator_engines– 変換エンジンの変更pdf_image_creator_thumbnail_page– 使用ページの変更pdf_image_creator_thumbnail_max_width– 最大幅の変更pdf_image_creator_thumbnail_max_height– 最大高さの変更pdf_image_creator_thumbnail_quality– 品質の変更pdf_image_creator_thumbnail_format– フォーマットの変更pdf_image_creator_thumbnail_bgcolor– 背景色の変更pdf_image_creator_thumbnail_image_attributes– 画像属性の変更pdf_image_creator_custom_insert_html– 挿入HTMLのカスタマイズpdf_image_creator_hide_thumbnails_in_library– ライブラリ非表示の制御pdf_image_creator_before_generate– 生成前アクションpdf_image_creator_after_generate– 生成後アクションpdf_image_creator_generation_failed– 生成失敗時アクション
CHANGELOG
1.0.2
WordPress.org プラグインガイドライン準拠のための修正
1.0.1
- WordPress Plugin Check 互換性問題を修正
- セキュリティ改善:入力サニタイズとエスケープの追加
- 非標準ポートでのAJAX CORSエラーを修正
- フィルターフック名を
pdf_image_creator_プレフィックスに変更 - 非推奨の
load_plugin_textdomain()を削除 - WordPressコーディング規約に準拠
1.0.0
- 初回リリース
- PDFアップロード時の自動サムネイル生成
- ImageMagick / GhostScript エンジン対応
- 既存PDFの一括サムネイル生成
- アイキャッチ画像サポート
- ブロックエディタ対応
- ショートコード(4種類)
- テンプレート関数(5種類)
- 表示設定(サムネイルアイコン、生成画像非表示)
- 挿入設定(カスタムHTMLテンプレート対応)
- 画像設定(サイズ、品質、フォーマット、背景色)
- 日本語翻訳同梱
