- きっかけは、使っていたプラグインが取り下げられたこと
- PDFが増えると、メディアライブラリは想像以上に探しにくくなる
- このプラグインでやっていること
- 効きやすいサイト・効きにくいサイト
- 生成されたサムネイルの活用先
- 動作要件と最初の確認
- インストール方法
- 最初に見てほしいのは、設定画面ではなくステータスタブ
- 設定タブの選び方
- 用途別の設定の目安
- 実務で効いてくる場面
- サムネイルが真っ黒になる、という事件
- とりあえずの回避策:Illustratorの「準拠する規格」をなしにする
- でも、毎回Illustratorで設定し直してもらうのは現実的じゃない
- 既存PDFのサムネイルをまとめて生成する
- サムネイルが出ないときの確認順
- WordPress.org公開時に直したこと
- 開発者向けのカスタマイズ
- 他のプラグインとの併用で気をつけたいこと
- ちょっとした疑問への補足
- まとめ:PDFを継続的に扱うサイトなら、効果は大きい
- Rapls Works のその他のプラグイン
この記事について
この記事は、WordPress にアップロードした PDF から表紙サムネイルを自動生成するプラグイン「Rapls PDF Image Creator」を、開発者本人の運用目線でまとめた導入・設定・活用ガイドです。なぜこのプラグインを作ることになったのか、どういうサイトで効果が出やすいのか、設定で迷いやすいところはどこか、生成された画像をアイキャッチや投稿内でどう活かすか、印刷用 PDF でサムネイルが真っ黒になったときに何を確認するのか。公式プラグインページにはあまり書かれていない、実際にハマった部分や運用のコツを中心に書いています。
この記事で解決できること
- WordPress にアップロードした PDF を、画像サムネイル付きで管理したい
- PDF アイコンばかりで、メディアライブラリから目的の資料を探しにくい
- PDF の表紙画像を、アイキャッチや資料一覧に使いたい
- PDF サムネイルが真っ黒になる原因と確認方法を知りたい
- ImageMagick / Imagick / policy.xml のどこを確認すればよいか知りたい
確認日:2026年5月2日 / 検証環境:WordPress 6.9.4 / PHP 8.3.21 / Rapls PDF Image Creator v1.0.9.5 / Cocoon 2.9.1.1 / Xserver スタンダードプラン / Illustrator 28.6
本記事は、WordPress.org 公式ディレクトリ掲載版、実際の管理画面、PDF/X 形式の変換検証、NPO法人サイトでの実運用をもとにした解説です。サーバー環境や PDF の作成方法によって挙動が変わる場合があります。
検証した範囲
- 確認した PDF:通常 PDF、PDF/X-1:2001、CMYK の印刷用 PDF
- 確認した操作:新規アップロード、一括生成、生成画像の非表示、アイキャッチ利用
- 確認できていないこと:すべてのレンタルサーバーでの動作、すべての PDF/X 形式での再現性
WordPress.org での配布は Rapls PDF Image Creator(無料 / GPLv2 / 日本語対応)です。

きっかけは、使っていたプラグインが取り下げられたこと
このプラグインを作った直接のきっかけは、自分で使っていた「PDF Image Generator」がメンテナンスされなくなり、WordPress.org のディレクトリから取り下げられてしまったことでした。
私は普段、ある NPO法人のサイトの保守を担当しています。そのサイトでは、議事録や案内資料、活動報告などの PDF を定期的に追加していて、メディアライブラリに PDF サムネイルが表示されていることが、運用上かなり重要でした。担当者が複数人いる関係で、ファイル名だけで「どれがどの資料か」を把握するのが難しかったからです。
PDF Image Generator はその用途にちょうどよく、長く使っていました。ところが、ある日アップデートが止まり、最終的に WordPress.org から消えてしまいました。代替を探しましたが、しっくりくるものが見つかりません。多機能な PDF ビューアープラグインはあっても、「アップロードしたら表紙画像を1枚作ってくれる」という、ただそれだけのプラグインがなかなかないのです。
結局、自分で作ることにしました。それが Rapls PDF Image Creator です。

公式ページとの違い
公式プラグインページは、機能・インストール手順・ショートコード・フック・動作要件を確認する場所です。この記事では、実際に PDF を扱うサイト運営者が迷いやすい「設定の選び方」「使いどころ」「活用方法」「黒いサムネイル問題」「サーバー環境の見方」を中心に解説します。
PDFが増えると、メディアライブラリは想像以上に探しにくくなる
WordPress のメディアライブラリは、画像を扱うにはかなり便利です。写真や図ならサムネイルを見るだけで中身が分かります。
ところが PDF は違います。PDF が並ぶと、見えるのは同じようなアイコンばかりです。ファイル名を確認しないと中身が分かりません。数本なら問題ないのですが、資料が増えるほど、これが地味にストレスになります。
私が保守している NPO法人サイトでも、議事録、案内チラシ、申込書、活動報告など、PDF は年々増えていきました。ファイル名は付けているものの、複数の担当者が関わると命名規則が揺れますし、「3年前の総会資料はどれだったか」を探すのに毎回ファイル名を読まないといけません。同じ悩みを持つサイトは、たぶん多いと思います。
WordPress の管理画面で PDF を扱う作業を分解すると、だいたいこんな流れになります。アップロードしたあと、ファイル名で目的の PDF を探し、必要に応じて投稿に挿入する、あるいはアイキャッチに設定する。このうち「ファイル名で探す」の部分が、PDF が増えるほど時間を食うようになります。サムネイルが見えるだけで、ここがほぼゼロ秒に近づきます。

Before:すべて同じ PDF アイコン

After:表紙サムネイルが表示されている
このプラグインでやっていること
やっていることは、かなり単純です。WordPress のメディアライブラリに PDF がアップロードされたタイミングで、PDF の先頭ページ(または指定したページ)を画像に変換して、サムネイルとして登録します。
裏側では ImageMagick(正確には PHP の Imagick 拡張)を使って PDF を画像にしています。出力形式は JPEG、PNG、WebP から選べて、生成された画像は WordPress のメディアとして扱えるので、そのままアイキャッチや投稿内画像にも使えます。
機能はあえてここまでに絞っています。PDF ビューアーでもなく、電子ブック表示でもなく、派手な管理ツールでもありません。「PDF をアップしたら表紙画像が自動で出る」という一点だけです。あれこれ機能を載せると、設定項目が増え、競合も増え、使う側も迷います。逆に、目的を絞ったプラグインは、入れたあとにほぼ意識せず使えます。日々の運用では、ひとつの困りごとを静かに解決してくれるプラグインのほうが、結果的に長く使えると思っています。

効きやすいサイト・効きにくいサイト
すべての WordPress サイトで効果が出るプラグインではありません。「PDF が頻繁に増えるかどうか」「PDF を管理画面側で見分ける必要があるかどうか」が、効果が出るかどうかを分ける一番の分岐点です。
たとえば、月に1〜2本だけ PDF を置いている個人ブログでは、ファイル名管理で十分なので、このプラグインの恩恵は小さいです。逆に、毎月数本〜数十本の PDF が追加されるサイト、複数人で更新作業を分担しているサイト、過去の PDF を定期的に参照するサイトでは、入れた瞬間に効果が分かります。
サイトの種類で言うと、こんなところで効きやすいです。
- 企業サイト(製品カタログ、会社案内、料金表、ホワイトペーパー)
- 不動産サイト(間取り図、物件詳細、重要事項説明書)
- 学校・塾・習い事教室(配布プリント、時間割、行事予定、申込書)
- 自治会・NPO・地域団体(議事録、活動報告、案内チラシ)
- 士業サイト(契約書テンプレート、申請書、サンプル文書)
- 採用ページを持つサイト(応募書類、職場紹介資料)
- EC・サービスサイト(商品仕様書、利用規約 PDF、サポート資料)
- 大学・研究機関(論文、資料配布、シラバス)

逆に、「PDF を置いているけれど、ほとんど更新しない」「PDF はダウンロード用にだけ使っていて、管理画面で並べる必要がない」というサイトでは、生成処理だけかかってメリットが少ないです。その場合は無理に入れる必要はありません。サーバー側で ImageMagick の PDF 変換が許可されていない場合も、プラグイン設定だけでは解決できないので、PDF の表紙画像を手動で作る、またはサーバー環境を見直すほうが現実的です。
生成されたサムネイルの活用先
PDF サムネイルが生成されたあと、それをどう使うかには複数の選択肢があります。「生成して終わり」ではなく、いくつかの場面で活用できるように設計しています。
アイキャッチ画像として使う
WordPress の投稿で PDF 資料を紹介する場合、その投稿のアイキャッチ画像として、PDF のサムネイルを設定できます。投稿一覧やカード型のレイアウトでは、アイキャッチが並んだ視覚的な印象がそのままサイトの印象になるので、PDF を扱う投稿が多いサイトでは、アイキャッチ問題は地味に大きいです。「資料紹介の投稿を書こうとするたびに、毎回アイキャッチ用の画像を作らないといけない」というストレスがなくなります。生成された画像を選んで、アイキャッチに設定するだけで終わります。

投稿内画像として挿入する
投稿の本文中に「これがダウンロード用の資料です」と PDF 表紙を貼っておくと、読者は中身をある程度想像してからダウンロードボタンを押せます。テキストでだけ「○○の PDF はこちらから」と書くより、表紙画像が見えるほうがクリック率が上がるはずです。WordPress の投稿エディタから「メディアを追加」を選び、生成された画像を選ぶだけで貼れます。Classic Editor でもブロックエディタでも、通常の画像挿入と同じ手順です。
固定ページの資料一覧で並べる
「資料ダウンロード」「ホワイトペーパー一覧」のような固定ページで、表紙サムネイル付きの一覧を作ることもできます。テーマやページビルダーの機能で「画像とリンク」を組み合わせれば、表紙画像をクリックで PDF をダウンロードする一覧が作れます。ショートコードを使えば、もう少し動的なリストも作れます(後述)。
ショートコードで貼り付ける
記事内や固定ページに、PDF サムネイルやダウンロードリンクをショートコードで貼り付けることもできます。詳しいコードは「開発者向けのカスタマイズ」で触れます。

動作要件と最初の確認
このプラグインは、サーバー側に PDF を画像に変換できる環境があることが前提になります。WordPress 側だけで完結しているわけではないので、ここをクリアできていないと、どんなに設定をいじっても動きません。必要な環境は次のとおりです。
- WordPress 6.0 以降
- PHP 7.4 以降(8.x 推奨)
- PHP の Imagick 拡張が有効になっていること
- サーバー側に ImageMagick がインストールされていること
- ImageMagick の policy.xml で PDF の読み込みが許可されていること

レンタルサーバーの多くは、ImageMagick も Imagick 拡張も標準で入っています。ただ、policy.xml の設定だけはサーバーによって異なり、PDF 読み込みが禁止されているケースが時々あります。これはセキュリティ上の理由で意図的に制限されている場合もあるので、必ずしも「サーバー側のミス」というわけではありません。
導入前に動作要件を満たしているかを確認したい場合は、プラグインを有効化したあとに「設定 → Rapls PDF Image Creator → ステータス」を開けば、まとめてチェックできます。見方は後述します。
インストール方法
インストールは WordPress 管理画面から普通にできます。ZIP の手動アップロードは不要です。
プラグイン追加画面を開く
WordPress 管理画面の左メニューから「プラグイン」→「新規プラグインを追加」を開きます。

Rapls PDF Image Creator を検索する
検索欄に「Rapls PDF Image Creator」と入力します。似た名前のプラグインがいくつかあるので、作者名が「rapls」になっていることも一応確認してください。

インストールして有効化する
「今すぐインストール」をクリックし、完了したら「有効化」をクリックします。


PDFをアップロードして動作確認する
有効化したら「メディア」→「新しいメディアファイルを追加」から PDF をアップロードします。サーバー環境に問題がなければ、アップロード後に表紙画像が自動的にサムネイルとして表示されます。ここでサムネイルが出ない場合は、プラグインの設定よりもサーバー環境を疑ったほうが早いです。次で、ステータスタブの見方を説明します。

最初に見てほしいのは、設定画面ではなくステータスタブ
このプラグインは、PDF を画像に変換する処理を ImageMagick に任せています。要するに、WordPress 側で完結しているわけではなく、サーバー側に PDF を変換できる環境が必要、ということです。そのため、設定タブをいじる前に、まずステータスタブを開いてください。

ステータスタブ。「ImageMagick が利用可能です」「PDF 変換がサポートされています」が表示されていれば、基本的な変換環境は整っています。
「ImageMagick が利用可能です」「PDF 変換がサポートされています」と両方表示されていれば、まずはそのまま使えます。あとは PDF をひとつアップロードして、サムネイルが出るかを確認すれば導入完了です。
問題なのは「PDF 変換がサポートされていません」と出る場合で、これは多くの場合、サーバー側の ImageMagick 設定(policy.xml)で PDF の読み込みが禁止されている状態です。プラグイン側の設定をどう変えても解決しないので、レンタルサーバーのサポートに「Imagick で PDF 変換を使いたい」と問い合わせるか、それが難しければサーバーを変えるしかありません。
ステータスタブには、ImageMagick のバージョン、対応している入出力フォーマット、メモリ上限なども表示されます。トラブル時にこの画面のスクリーンショットを取っておくと、サーバーサポートとのやり取りがスムーズになることが多いです。
設定タブの選び方
デフォルトのままでも動きますが、サイトの用途によって調整したほうが扱いやすくなります。

画像サイズ
画像サイズは、ブログや企業サイトなら最大幅・最大高さを1024px前後にしておけば十分なことが多いです。表紙を大きく見せたい場合は2048pxにしてもいいのですが、そのぶんファイルサイズも変換負荷も増えます。
私が保守している NPO法人サイトでは、最初は大きめの画像で生成していましたが、PDF が増えるにつれて管理画面の軽さを優先するようになりました。今は、一覧で見分ける用途なら1024px前後で十分だと感じています。表紙の細かい文字まで読ませるというより、「どの資料かを一瞬で判別する」ことが目的だからです。アイキャッチとして使う場合、テーマが想定する幅は1200〜1600pxくらいが多いので、1024pxでも実用的です。表紙を本のように大きく扱うランディングページなどでは2048pxにする価値があります。
品質
品質は JPEG や WebP なら80〜85くらいが扱いやすいです。普通の資料サムネイルなら、これで十分きれいに見えます。印刷物の細かい文字をきれいに見せたい場合だけ、90以上を検討するくらいでいいと思います。
実際の運用では、品質を上げすぎるよりも、一覧表示で判別できることとページの表示速度を両立するほうが重要でした。とくに資料一覧ページに複数の表紙を並べる場合は、1枚だけ高画質にするより、ページ全体が重くならない設定にしたほうが使いやすいです。逆に品質を70以下に下げると、ファイルサイズはかなり小さくなりますが、表紙の細かい文字が読めなくなることがあります。会社案内や料金表のようにサムネイルから内容を匂わせたい場合は、下げすぎないほうが結果的にクリック率が上がります。
出力形式
出力形式は、軽さ重視なら WebP、互換性重視なら JPEG、劣化を避けたいなら PNG です。ただ、すべてのサイトで WebP がベストとは限りません。古めの画像処理プラグインや、サイト全体の運用ルールとの相性もあるので、そこは状況を見て選んでください。
私の運用では、判別とページの軽さを重視するサイトでは WebP、他の画像最適化プラグインや古い運用ルールとの相性を優先するサイトでは JPEG を選ぶことが多いです。PNG はきれいですが、PDF が増えるサイトではファイルサイズが大きくなりやすいので、必要な場面に絞ったほうが扱いやすいです。目安はこうです。
| 形式 | 特徴 | 向いているケース |
|---|---|---|
| WebP | 同等画質でファイルサイズが小さい | 表示速度を重視するサイト、PDFを大量に扱うサイト |
| JPEG | 広く使える、互換性が高い | 既存の画像処理プラグインと併用するサイト、社内ツール |
| PNG | 劣化なし、文字や細線がくっきり | デザイン重視サイト、印刷物プレビュー |
ページ番号の指定
デフォルトでは1ページ目をサムネイルにします。ただ、PDF によっては1ページ目が表紙ではなく目次や注意書きになっていることがあります。その場合は、設定画面でページ番号を変更できます。たとえば申込書の PDF で、1ページ目が説明、2ページ目が記入用紙になっているケース。ここでは2ページ目をサムネイルにしたほうが「これは記入用紙だな」とすぐ分かります。同じ要領で、3ページ目、4ページ目と任意のページを指定できます。
生成画像を非表示にするか
「生成画像をメディアライブラリに表示するか」も好みが分かれます。生成画像を直接アイキャッチや投稿内画像に使いたいなら表示しておくほうが便利ですが、PDF が多いサイトだと、生成画像まで一覧に並ぶとかえって見づらくなります。私は NPO法人サイトでは非表示にしています。非表示にしても、PDF 自体のサムネイル表示は変わりません。あくまで「生成された画像ファイル」をライブラリに見せるかどうかの設定です。
用途別の設定の目安
サイトの目的によって、適した設定はかなり違います。迷ったら、このあたりから始めるとよいと思います。
| 用途 | おすすめ設定 | 理由 |
|---|---|---|
| 一般ブログ・企業サイト | 1024px / 品質80〜85 / WebPまたはJPEG | 画質と軽さのバランスがよく、通常の資料表示に向く |
| デザイン・印刷系サイト | 2048px / 品質90以上 / PNGまたは高品質JPEG | 細かい文字やデザインを見せたい場合に向く |
| PDF大量アップロード | 800px / 品質70〜75 / WebP | ファイルサイズと変換負荷を抑えやすい |
| 資料ダウンロードページ | 1024px / 品質85 / JPEGまたはWebP | 一覧表示が見やすく、ページの表示速度も保ちやすい |

実務で効いてくる場面
このプラグインが効いてくるのは、PDF を「置いておくだけ」のサイトより、PDF を頻繁に追加・差し替えするサイトです。少し具体的に書いていきます。
企業サイトの資料ダウンロード
製品カタログや会社案内、ホワイトペーパー、料金表を PDF で配布している企業サイトでは、表紙サムネイルがあるかないかで資料一覧の印象が大きく変わります。ファイル名だけのリンクと、表紙画像付きのリストでは、訪問者の「クリックしやすさ」が違うはずです。とくに B2B 系では、資料ダウンロードページがリード獲得の入口になっていることが多く、表紙画像があるだけで「この資料、ちょっと中見てみたい」と思わせる効果があります。カード型レイアウトでも、サムネイルが揃うと一覧の見栄えが変わります。
不動産・物件情報
不動産サイトでは、間取り図を PDF で扱うことがあります。PDF アイコンだけでは物件ごとの違いが分かりませんが、間取り図そのものがサムネイルになっていれば、管理者も訪問者も直感的に確認できます。物件管理画面で PDF をまとめて並べる場面でも、間取り図のサムネイルが視認できるだけで目的の物件をすぐ取り出せますし、複数の担当者が差し替える運用でも、ファイル名のミスマッチに早めに気づけます。
学校・教育機関
学校、塾、習い事教室では、配布プリント、時間割、行事予定、申込書、お便りといった PDF が並びます。年度をまたいで蓄積していくと、年末の総会や入学案内のように、過去の資料を引っ張り出す場面が定期的にやってきます。こういうサイトでは、サムネイルがあるだけで保護者や生徒が目的の資料を探しやすくなります。管理者側でも「これは去年の運動会のお知らせだな」と表紙だけで判別できるので、差し替え作業が早くなります。
行政・自治会・地域団体
自治体、NPO、地域団体のサイトでも、PDF 資料はよく使われます。私が保守している NPO法人サイトもこの系統で、議事録や活動報告、案内チラシをずっと PDF で管理してきました。年度ごとに発行される議事録や、定期的な活動報告のように似たフォーマットの資料が並ぶ場合、表紙の色やレイアウトの違いで「これは何年度の」が一発で分かるようになります。文書管理に詳しくない担当者が更新する場面でも、ファイル名を読まずに作業できるのは助かります。
士業・コンサル系サイト
司法書士、行政書士、社労士、税理士のように、契約書テンプレートや申請書サンプルを配布している事務所もあります。クライアント向けに「○○の申請書類サンプル」「××の契約書フォーマット」を並べる場面で、サムネイルがあると「あ、これは委任状か」「これは登記申請書だな」と表紙だけで判別できます。
採用ページ・応募書類
採用ページに応募書類の PDF を置いているサイトでも、サムネイルが効きます。「履歴書テンプレート」「職務経歴書テンプレート」のように複数のフォーマットを置いている場合、表紙が見えるだけで応募者が必要な書類を選びやすくなります。
EC・サービスサイトの商品仕様書
EC サイトで商品ページに仕様書 PDF を添付している場合、商品一覧でサムネイルが見えるだけで「製品の見た目」と「仕様の見た目」を同じ画面で確認できます。BtoB の工業製品のように、画像と仕様書がセットで重要な商材で効きます。
大学・研究機関
大学、研究室、学会のサイトでは、論文、資料配布、シラバス、報告書といった PDF が大量に蓄積していきます。研究室のサイトで「過去の発表資料」を並べる場合、表紙サムネイルがあると年度ごとの作業が見える化されて、サイトに研究の蓄積が感じられるようになります。
サムネイルが真っ黒になる、という事件
ここからは、開発中に実際にハマった話です。
NPO法人サイトの保守作業で、クライアントから「あるイベントのチラシ PDF を掲載したい」という依頼がありました。普段どおり担当者が PDF をアップロードしたところ、サムネイルが真っ黒になりました。
最初は、PDF のカラーモードが CMYK だからだろうと思いました。印刷用に作った PDF だったので、その線で間違いないだろうと。Illustrator で RGB に変換し直して、もう一度アップロードしてみました。
結果は、変わりませんでした。真っ黒のままでした。
この時点で、単純に「CMYK だから黒い」という話ではないと分かりました。試しに別の PDF を上げるとちゃんとサムネイルが出ます。当時使っていた PDF 変換系のプラグインを別のものに差し替えても、やっぱり同じ PDF は真っ黒になります。プラグインの問題というより、この PDF そのものに何かある、という感触になってきました。

PDF/X-1 形式で保存した PDF(左:真っ黒)と、「準拠する規格:なし」で保存し直した PDF(右:正常)
pdfinfoで覗いてみたら、PDF/X-1:2001だった
原因を絞り込むため、ローカル環境で PDF の中身を見てみることにしました。pdfinfo というコマンドラインツールで PDF のメタ情報を表示できます。そこに PDF subtype: PDF/X-1:2001 と書かれていました。

pdfinfo の実行結果。「PDF subtype: PDF/X-1:2001」が原因特定の手がかりになりました。
PDF/X-1:2001 は、印刷入稿用の PDF 規格です。印刷データとしては正しい形式なのですが、Web 上で画像に変換するときには相性が悪いことがあります。CMYK や特色を前提としたデータ構造になりやすく、変換処理の途中でカラースペースの扱いを間違えると、色がごっそり崩れることがあるのです。
具体的には、ImageMagick が CMYK の数値を sRGB へ変換する前に flatten(平坦化)処理を走らせてしまうと、その時点で色が壊れます。あとから sRGB へ変換しても、すでに壊れた色は戻りません。それで真っ黒に見えていた、というわけです。
とりあえずの回避策:Illustratorの「準拠する規格」をなしにする
原因が分かれば、Illustrator で書き出す PDF なら、その場で回避できます。Web 掲載用の PDF については、保存ダイアログの「準拠する規格」を「なし」に変えるだけです。手順としては、Illustrator で「別名で保存」を選び、Adobe PDF を選んで保存ダイアログを開き、「準拠する規格」が PDF/X-1a などになっていたら「なし」に変更します。Web 用ならついでに「最小ファイルサイズ」プリセットを選んでおくと軽くなります。


Web 掲載用なら「準拠する規格:なし」に変更すると、サムネイル生成時の色崩れを避けやすくなります。
もちろん、印刷所に入稿する PDF は PDF/X 形式が指定されていることが多いので、その用途では従来どおりの設定で書き出します。Web 掲載用と印刷入稿用を別ファイルに分けるのが、結局のところ一番安全です。
でも、毎回Illustratorで設定し直してもらうのは現実的じゃない
運用面でいうと、サイトの担当者に PDF を渡されるたびに「Illustrator で設定を変えて書き出し直してください」とお願いするのは、けっこう無理があります。クライアントが手元で印刷用 PDF をそのままアップロードしてくることもあります。そこで、プラグイン側で自動的に CMYK を sRGB へ変換するようにしました。これが v1.0.9 での対応です。
実はそれ以前のバージョンでも、この問題自体には気づいていました。ただ、ImageMagick の transformImageColorspace でカラースペースを変換すればいい、というところに最初は辿り着けず、しばらくお手上げ状態でした。最終的には、似た処理をしている他のプラグインのソースを読んだり、AI に相談しながらコードを追ったりして、解決策の形が見えてきました。ポイントは、変換の順番でした。

CMYK のまま flatten してしまうと、その時点で色情報が壊れます。あとから sRGB に変換しても戻りません。正しい順序は、PDF を読み込み、カラースペースを確認し、CMYK なら sRGB へ変換し、そのあとで flatten やリサイズを行う流れです。
ここから少しだけ技術的な話になります。サイト運営者の方は、「sRGB 変換を先に行い、そのあとで平坦化する必要がある」とだけ押さえておけば大丈夫です。開発者の方は、以下の処理順を見ると原因が分かりやすいと思います。
| 1 2 3 4 5 6 7 8 9 10 | // カラースペースをチェック(PDF/X-1:2001対応) $colorspace = $imagick->getImageColorspace(); if ( $colorspace === \Imagick::COLORSPACE_CMYK ) { // CMYKからsRGBに変換 // flatten前に実行することが重要 $imagick->transformImageColorspace( \Imagick::COLORSPACE_SRGB ); } // この後にflatten・リサイズ・保存 |
v1.0.9 をリリースしてから、自分で NPO法人サイトに入れて試してみました。あの真っ黒だったチラシ PDF が、ちゃんと表紙サムネイルで表示されたときは、ようやく直ったかと安心したのを覚えています。もし過去にアップロードした PDF のサムネイルが真っ黒になっている場合は、プラグインを v1.0.9 以降に更新したうえで、後述の「一括生成」からまとめて作り直せます。
既存PDFのサムネイルをまとめて生成する
プラグイン導入前にアップロード済みの PDF については、一括生成タブからまとめてサムネイルを作れます。

一括生成タブ。プラグイン導入前の PDF にもまとめてサムネイルを生成できます。
便利ですが、PDF が数百件あるサイトではサーバーに負荷がかかります。アクセスが少ない時間帯に走らせるのが安全です。あと、一括生成はブラウザ上で進む処理なので、途中で画面を閉じると止まります。完了するまでは画面を開いたままにしておいてください。
一括生成は、サムネイル設定を変更したあとの「再生成」にも使えます。たとえば最初は1024px / JPEG で生成していたサムネイルを、あとから2048px / WebP に変えたい場合、設定を変えてから一括生成を走らせると、すべての既存 PDF が新設定で生成し直されます。途中で設定方針を変えたときに地味に役立つ機能です。
サムネイルが出ないときの確認順
サムネイルが生成されないときは、いきなり設定をいじるよりも、外側から原因を絞り込んでいくほうが早いです。

まずステータスタブで、ImageMagick と PDF 変換サポートが利用可能になっているかを確認します。ここで利用不可になっているなら、プラグイン側ではなくサーバー側の問題です。レンタルサーバーのサポートに問い合わせるか、ローカル環境で ImageMagick のインストール状態を確認してください。
次に、PDF がパスワード保護されていないかを見ます。閲覧パスワードや印刷制限がかかっている PDF は、変換に失敗することがあります。これは通常の PDF とは別ものとして扱ったほうが無難です。
PDF の容量とページサイズも疑います。数十MBある PDF や極端に大きい用紙サイズの PDF は、変換時にメモリを多く使います。wp-config.php で WordPress のメモリ上限を増やすと改善する場合があります。
| 1 | define( 'WP_MEMORY_LIMIT', '256M' ); |
一括生成が途中で止まる場合は、サーバーのタイムアウトを疑います。PDF の数を分割して試したり、負荷の低い時間帯に走らせたり、サーバー側の max_execution_time の制限を確認してみてください。
そして、サムネイルが「真っ黒になる」ケースだけは、別の角度から見ます。PDF/X 形式かどうかを確認するのが手っ取り早いです。コマンドラインが使える環境なら、こんな感じです。
| 1 | pdfinfo ファイル名.pdf | grep -i subtype |
PDF/X の表記が出てきたら、Illustrator 側の保存設定を見直すか、プラグインを v1.0.9 以降に更新してください。
WordPress.org公開時に直したこと
このプラグインも、WordPress.org に掲載してもらう前にレビューチームの審査を通っています。Thanks Mail for Stripe のときと同じく、いくつか指摘を受けて修正しました。これからプラグインを公開する人の参考になりそうな部分なので、書いておきます。

- プラグイン名の変更:もともと「PDF Image Creator」で提出したのですが、「一般的すぎる」という理由で変更を求められました。WordPress.org では、プラグイン名の独自性も審査対象になります。最終的にブランド名を頭に付けて「Rapls PDF Image Creator」にしました。
- プレフィックスの統一(
rapls_pic_):関数名・オプション名・テーブル名などに、4文字以上のユニークなプレフィックスを付けることが求められます。最初は他の文字列が混ざっていたので、すべてrapls_pic_に統一しました。 - 名前空間を
Rapls\PDFImageCreatorに変更:クラス側の名前空間も独自性を持たせるよう指摘されました。これも上のプレフィックス対応と合わせて整理しました。 - Ghostscript を
execで呼ぶ実装をやめた:初期実装では、PDF を画像化する処理に Ghostscript をexec経由で呼び出していました。が、外部コマンドをexecなどで実行するのはセキュリティ上の懸念があるとして、規約上禁止されています。これはレビューで具体的に指摘され、ImageMagick(Imagick 拡張)を使う実装に書き直しました。
初回提出で全部一発 OK になるプラグインは、たぶんあまりないと思います。指摘は具体的で、直し方もたいていレビューメッセージの中で示されるので、そのとおりに対応すれば通ります。むしろ、自分が普段あいまいにしていた部分(命名・外部コマンド・名前空間など)を強制的に整える機会になり、ありがたい仕組みだと感じました。
開発者向けのカスタマイズ
テーマや別のプラグインから PDF サムネイルを使いたい場合は、テンプレート関数とショートコードが用意されています。ここでは代表的な使い方をいくつか挙げておきます。
テンプレート関数で表示する
テーマの single.php やカスタムテンプレートから PDF サムネイルを呼び出したい場合は、テンプレート関数が使えます。
| 1 2 3 4 5 6 7 8 9 10 | // サムネイルがあるか確認して表示 if ( rapls_pic_has_thumbnail( $pdf_id ) ) { echo rapls_pic_get_thumbnail_image( $pdf_id, 'medium' ); } // サムネイルのURLだけ取得したい場合 $thumb_url = rapls_pic_get_thumbnail_url( $pdf_id, 'large' ); if ( $thumb_url ) { echo '<img src="' . esc_url( $thumb_url ) . '" alt="" />'; } |
サイズには WordPress 標準のサイズ名(thumbnail / medium / large / full)が使えます。テーマで独自のサイズを add_image_size() で登録している場合、そのサイズ名も指定できます。
ショートコードで貼り付ける
記事や固定ページの本文中に、サムネイルやダウンロードリンクを直接貼りたい場合はショートコードが手軽です。
| 1 2 3 4 5 6 7 8 | // PDFサムネイル画像を表示 [rapls_pdf_thumbnail id="123" size="medium"] // ダウンロードリンクを表示 [rapls_pdf_download_link id="123" text="ダウンロード"] // サイズを指定して大きく表示 [rapls_pdf_thumbnail id="123" size="large"] |
ショートコードのパラメータには、id(添付ファイルのID)、size(画像サイズ)、text(リンクのアンカーテキスト)などが使えます。固定ページの「資料ダウンロード一覧」で複数の PDF をサムネイル付きで並べたい場合は、Cocoon ならカラム機能で2列または3列に分けて、各カラムに [rapls_pdf_thumbnail] と [rapls_pdf_download_link] を組み合わせて貼ると、それっぽい一覧ができあがります。
フィルターフックでカスタマイズする
もう少し細かい制御をしたい場合は、フィルターフックでサムネイル生成の前後に処理を挟めます。よく使うパターンとしては「特定の条件の PDF だけ別ページをサムネイルにする」「サムネイル生成をスキップする」といった用途です。フィルターフックやアクションフックの一覧、より細かい仕様については、WordPress.org 側のプラグインページを参照してください。この記事では使い方の全体像を中心にまとめています。
他のプラグインとの併用で気をつけたいこと
このプラグインは PDF→画像変換だけを担当しているので、ほとんどの他プラグインと共存できます。ただ、いくつか相性で気をつけたい場面があります。
画像最適化プラグインとの併用
EWWW Image Optimizer、ShortPixel、Imagify などの画像最適化プラグインを併用していると、生成されたサムネイルも最適化対象に入ります。これはふつうは問題ありません。むしろ、二重最適化でファイルサイズがさらに小さくなる場合もあります。ただ、生成のタイミングが重なると、PDF アップロード直後に「変換 → 最適化」が連続して走るので、サーバー負荷がやや高くなります。大量の PDF を一気にアップロードする場面では、最適化プラグインを一時的に止めておくと安心です。
キャッシュプラグインとの併用
WP Rocket、W3 Total Cache、LiteSpeed Cache のようなキャッシュプラグインを使っている場合、生成されたサムネイルが表示されないように見えることが時々あります。これは、キャッシュが古い状態(サムネイルがまだない状態)を保持しているためです。新しく PDF をアップロードしたあとに表示が反映されない場合は、該当ページのキャッシュをクリアしてみてください。一括生成のあとは、サイト全体のキャッシュをクリアするのが手っ取り早いです。
メディアライブラリ系プラグインとの併用
FileBird、WP Media Folder のようなメディアライブラリ拡張プラグインとも、問題なく併用できます。生成されたサムネイルも、これらのフォルダ機能で整理できます。ただし、メディアライブラリのアップロード処理を大きく改変するプラグインを併用している場合、まれに変換処理が走らないことがあります。テスト環境で動作確認してから本番に入れることをおすすめします。
ちょっとした疑問への補足
使ってみると気になりやすいポイントを、いくつか補足しておきます。
「2ページ目をサムネイルにしたい」というのは時々あります。1ページ目が注意書きで、2ページ目に本来の表紙があるような資料です。これは設定画面でページ番号を変更できますし、フィルターフックでも制御できます。
「既存の PDF にもサムネイルを付けたい」場合は、前述の一括生成からまとめて作れます。設定変更後の再生成にも同じ機能が使えます。
「プラグインを削除したら生成画像はどうなるか」は設定次第です。デフォルトでは削除されますが、「アンインストール時に画像を保持」を有効にしておけば、生成済みの画像は残ります。一時的に停止して動作確認したい場合などは、保持を有効にしておくと安心です。
「他の PDF ビューアープラグインと併用できるか」は、結論からいうとできます。このプラグインは PDF ビューアーではなく、サムネイル生成だけを担当しているからです。ただ、PDF アップロード処理やメディアライブラリを大きく書き換えるプラグインを併用している場合は、念のためテスト環境で確認してください。
「CMYK と RGB は何が違うのか」は、ざっくり言うと、RGB は画面表示の光の色で、値が大きいほど明るくなります。CMYK は印刷インクの量で、値が大きいほど暗くなります。Web 表示用のサムネイルでは、CMYK を正しく sRGB へ変換する必要があり、その変換でつまずくと真っ黒になります。
「画像の alt 属性は自動で付くのか」については、デフォルトで PDF のファイル名がベースになります。アクセシビリティを重視する場合は、生成後にメディアライブラリから個別に編集してください。
「多言語サイト(WPML や Polylang)と組み合わせられるか」は、PDF そのものを言語別に分けて管理する形であれば問題なく動きます。同じ PDF を複数言語の投稿で使い回す場合は、メディアライブラリ単位での管理になるので、運用ルールを決めておくとスムーズです。
まとめ:PDFを継続的に扱うサイトなら、効果は大きい
Rapls PDF Image Creator は、PDF ビューアーでも、電子ブック表示プラグインでもありません。WordPress にアップロードした PDF から表紙画像を生成し、メディアライブラリや投稿内で扱いやすくするためのプラグインです。
PDF が少ないサイトでは、必要性は高くありません。しかし、議事録、案内資料、カタログ、申込書、仕様書、ホワイトペーパーなどを継続的に追加しているサイトでは、管理画面で PDF を見分けられるだけで作業がかなり楽になります。
私自身、NPO法人サイトの保守で PDF 管理に困ったことが、このプラグインを作るきっかけでした。PDF/X-1:2001 の黒サムネイル問題のように、実際に運用しないと気づきにくい問題もありました。この記事が、同じように WordPress で PDF 管理に困っている方の参考になればうれしいです。
導入判断の目安
- PDF を毎月追加するサイトなら、導入する価値があります。
- 複数人で PDF を管理するサイトなら、ファイル名確認の手間を減らせます。
- PDF 表紙を資料一覧やアイキャッチに使いたいサイトなら、見た目の統一に役立ちます。
- PDF を年に数回しか使わないサイトなら、無理に入れる必要はありません。
Rapls Works のその他のプラグイン
- Rapls AI Chatbot ガイド|WordPress AIチャットボットの導入から運用まで ── WordPress に AI チャットボットを設置できるプラグイン。
- Thanks Mail for Stripe 導入ガイド|Stripe Payment Links の決済後にサンクスメール ── Stripe 決済の完了後に自動でサンクスメールを送信するプラグイン。




コメント