Rapls PDF Image Creator Free マニュアル

Rapls PDF Image Creator Free マニュアル

Rapls PDF Image Creator マニュアル(Free 版)

PDF の表紙を画像にしてアイキャッチ画像に設定する、無料プラグインの使い方です。
バージョン 1.4.45 | WordPress 5.0 以上 | PHP 7.4 以上

無料版で完結します。 このプラグインは機能を絞ったお試し版ではありません。このマニュアルに書いてあることは、すべて無料版だけで動きます。

01このプラグインについて

メディアライブラリに PDF をアップロードすると、PDF のページを画像に変換し、その画像を PDF のアイキャッチ画像に設定します。変換には PHP の Imagick 拡張(ImageMagick)を使います。

  • 自動生成:アップロードした時点でサムネイルを作ります。
  • 全サイズ:フルサイズのほか、テーマが登録している画像サイズすべてを作ります。
  • 真っ白を保存しない:全面が 1 色のページは描画の失敗とみなし、保存しません。
  • カラー管理:CMYK の PDF は ICC プロファイルを通して sRGB に変換します。
  • 理由を表示:作れなかったときは、ステータスタブとサイトヘルスに理由と対処を表示します。
  • プロセスを起動しない:exec() などは一切使いません。制限の厳しい共用サーバーでも動きます。

02動作環境

WordPress5.0 以上
PHP7.4 以上
Imagick 拡張必須。PHP から ImageMagick を使うための拡張です。
PDF の読み取りImageMagick のセキュリティポリシー(policy.xml)が PDF の読み取りを許していること。ImageMagick は PDF の描画に、サーバーにインストールされた Ghostscript を使います。

多くの共用サーバーで使えます。使えるかどうかは、インストール後にステータスタブで確認できます。

03インストール

  1. 管理画面で プラグイン → 新規追加 を開き、「Rapls PDF Image Creator」を検索します。
  2. 今すぐインストール → 有効化 を押します。
  3. 設定 → Rapls PDF Image Creator を開き、ステータス タブで要件を確認します。
  4. PDF を 1 つアップロードして、サムネイルができることを確かめます。

設定画面には 設定・一括生成・ステータス の 3 つのタブがあります。

04ステータスタブで確認する

設定 → Rapls PDF Image Creator → ステータス。「サーバーステータス」に、このサーバーで PDF を描画できるかを表示します。バージョン番号から推測するのではなく、メモリ上で作った PDF を実際に読んで確かめた結果です。

ステータスタブ
ステータスタブ。サーバーの要件ごとの確認結果と統計
行わかること
Imagick ExtensionImagick 拡張が読み込まれているか。
ImageMagick VersionImageMagick のバージョン。
PDF SupportPDF を読めるか。「準備完了」「Imagick 拡張が未インストール」「ImageMagick のポリシーで PDF が禁止されています」「PDF に対応していません」のいずれか。ポリシーが原因のときは、そのファイルのパスも表示します。
CMYK PDF の描画CMYK のテストページを実際に描画した結果。一部の ImageMagick 6 では CMYK の PDF が白くなります。
ページ選択2 ページのテスト PDF を描画して、ページ番号の指定が効くか。
GhostscriptImageMagick が CMYK の PDF に使う Ghostscript のデバイス(delegates.xml から読んだもの)など。
カラー管理CMYK と sRGB の ICC プロファイルが見つかったか。見つからないと、色が派手になる単純な変換になります。

結果は 12 時間記憶されます。ホスティング会社が設定を変えたあとは このサーバーを再検査 を押してください。

画面の下の 統計 には「PDF 総数」「サムネイルあり」「サムネイルなし」が出ます。統計を更新 で数え直します。

最後にサムネイルを作れなかった理由があれば、ここに日時と一緒に表示します。この表示は、次にサムネイルの生成が成功すると自動で消えます。

サイトヘルスでも同じ内容を見られます。 ツール → サイトヘルスの「PDF サムネイルの生成」、情報タブの「Rapls PDF Image Creator」の項目。サポートに問い合わせるときは、情報タブの内容をコピーして貼ると早く伝わります。

05設定タブ

設定 → Rapls PDF Image Creator → 設定
設定タブ。画像設定・動作設定・表示設定・挿入設定

画像設定

項目内容既定値
最大幅生成されるサムネイルの最大幅(100〜4096)。1024
最大高さ生成されるサムネイルの最大高さ(100〜4096)。1024
描画解像度PDF のページを描画する解像度(72〜600 DPI)。150
品質JPEG / WebP 出力の画像品質(10〜100)。90
出力形式JPEG / PNG / WebP。JPEG
背景色PDF 内の透明部分の背景色。白 / 黒 / 透明(PNG のみ)。白
ページ番号サムネイルに使うページ。0 が最初のページです(2 ページ目なら 1)。サイト全体に効きます。0
最大幅を上げても画像は大きくなりません。 最大幅・最大高さは、描画したページを縮小するときにだけ効きます。A4 を 150 DPI で描画すると約 1240×1754 ピクセルで、それより大きくはなりません。大きくしたいときは描画解像度を上げてください。解像度を上げるほど、生成時のメモリ使用量が増えます(解像度の 2 乗に比例)。

動作設定

項目内容既定値
自動生成PDF アップロード時にサムネイルを自動生成。オフのときは、WordPress がアップロード時に自分で作る PDF のプレビュー(…-pdf.jpg)も、PDF と同じフォルダーから削除します。オン
アイキャッチ画像生成したサムネイルを PDF のアイキャッチ画像として設定。PDF の添付ファイルで get_post_thumbnail_id() が使えるようになります。オン

表示設定

項目内容既定値
サムネイルアイコンを表示メディアライブラリで、PDF の汎用アイコンの代わりに生成したサムネイルを表示。オン
生成された画像を非表示生成したサムネイル画像を、メディアライブラリの一覧に出さない。チェックを外すと、PDF を削除しても生成された画像は一緒に削除されません。オン
アンインストール時に画像を保持プラグインを削除したあとも、生成した画像を普通の画像として残す。オフ

挿入設定

投稿の編集画面で PDF を挿入したときに、何を出力するかを決めます。

項目内容既定値
デフォルト挿入タイプサムネイル画像 / タイトル(テキストリンクのみ) / カスタム HTML。サムネイル画像
デフォルト挿入サイズ挿入するサムネイルの画像サイズ。medium
リンク先PDF ファイル / 添付ファイルページ / なし(リンクなし)。PDF ファイル
カスタム HTML テンプレート挿入タイプが「カスタム HTML」のときに使う HTML。下のプレースホルダーが使えます。—
プレースホルダー置き換わるもの
%PDF_URL%PDF ファイルの URL
%THUMBNAIL_URL%サムネイル画像の URL
%TITLE%PDF のタイトル
%ID%PDF の添付ファイル ID
%ATTACHMENT_URL%添付ファイルページの URL
<a href="%PDF_URL%" target="_blank">
  <img src="%THUMBNAIL_URL%" alt="%TITLE%">
</a>

出力は wp_kses_post() を通るので、投稿に書けない要素は取り除かれます。

06一括生成

プラグインを入れる前にアップロードした PDF や、設定を変えたあとに作り直したい PDF をまとめて処理します。

設定 → Rapls PDF Image Creator → 一括生成
一括生成タブ。既存の PDF をスキャンしてサムネイルを生成する
  1. 作り直したい場合は すでにサムネイルがある PDF も含める (再生成) にチェックを入れます。
  2. PDF をスキャン を押します。「スキャン結果」に対象の数が出ます。
  3. 生成開始 を押します。「進行状況」に「生成済み」「失敗」の数、「ログ」に 1 件ずつの結果が出ます。
  4. 途中でやめるときは 停止 を押します。
処理中はこの画面を開いたままにしてください。 一括生成はブラウザーから 1 件ずつ依頼する方式です。タブを閉じると、そこで止まります。

対象が 0 件のときは、その理由(メディアライブラリに PDF がない/すべてサムネイル済み など)を表示します。すべてサムネイル済みの場合は、再生成を含めてスキャンし直すボタンが出ます。

設定を変えても、既存のサムネイルは変わりません。 更新や設定変更で全 PDF を勝手に作り直すことはしません。新しい設定で揃えたいときは、再生成を含めて一括生成してください。

07メディアライブラリ

  • 表紙の表示:グリッド表示・一覧表示とも、PDF のアイコンの代わりに生成したサムネイルを表示します(「サムネイルアイコンを表示」がオンのとき)。
  • 添付ファイルの編集画面:サムネイルを作った PDF は、編集画面のプレビューにも生成したサムネイルを表示します(1.4.3 以降)。
  • 画像の選択画面に出る PDF:サムネイルのある PDF は、WordPress 標準の画像選択(画像・ギャラリー・投稿のアイキャッチ画像の各ブロック、ブロックエディターのアイキャッチ画像、クラシックエディターの「アイキャッチ画像を設定」と「メディアを追加」のアイキャッチ画像)にだけ出ます。他のプラグインの選択画面や、カバー・メディアとテキストなどの選択画面には出ません。フィルター rapls_pdf_image_creator_pdfs_in_every_image_picker で true を返すと、画像を求めるすべての選択画面に出す 1.4.20 までの動きに戻せます。ブロックエディターに PDF をドロップや貼り付けしたときは、画像ブロックではなくファイルブロックになります。PDF を画像として使うには、画像ブロックの「メディアライブラリ」タブで選んでください。
  • 「PDF サムネイル」列:一覧表示に、サムネイルの有無(✓ / ✗)の列が付きます。
  • 行のリンク:PDF の行にマウスを乗せると サムネイル生成(未生成のとき)または サムネイル再生成 が出ます。1 件だけ作り直すときに使います。
メディア → ライブラリ(一覧表示)
メディアライブラリのリスト表示。PDF サムネイル列にチェックが付いている

作られるファイル

my-document.pdf をアップロードすると、次のようなファイルができます(サイズはテーマの設定によります)。

my-document-pdf.jpg            フルサイズ
my-document-pdf-1024x768.jpg   大
my-document-pdf-300x225.jpg    中
my-document-pdf-150x150.jpg    サムネイル

再生成したサムネイルには、前とは別のファイル名が付きます。同じ URL のままだと、ブラウザーが古い画像を表示し続けるためです。

08投稿への挿入

投稿の編集画面で「メディアを追加」から PDF を選んで挿入すると、挿入設定のとおりに出力されます。

サムネイルを置く場所を投稿の中で細かく決めたいときは、次の章のショートコードも使えます。

09ショートコード

id には PDF の添付ファイル ID を指定します(メディアライブラリで PDF を開いたときの URL の item= / post= の数字)。ショートコードに指定できるのは PDF の ID だけです(1.4.45 以降)。他の投稿の ID も指定できる 1.4.20 までの動きに戻すには、フィルター rapls_pdf_image_creator_shortcode_any_post で true を返してください。その場合も、その投稿を見られる閲覧者にだけ表示されます。

ショートコード出力属性(既定値)
[rapls_pdf_thumbnail id="123"]サムネイル画像size(thumbnail)、class
[rapls_pdf_thumbnail_url id="123"]サムネイルの URLsize(thumbnail)
[rapls_pdf_clickable_thumbnail id="123"]PDF にリンクしたサムネイルsize(thumbnail)、class、target(_blank)
[rapls_pdf_download_link id="123"]サムネイル付きのダウンロードリンクshow_thumbnail(true)、size(thumbnail)、text、class(rapls-pic-download-link)
[rapls_pdf_clickable_thumbnail id="123" size="medium"]
[rapls_pdf_download_link id="123" text="資料をダウンロード" show_thumbnail="false"]

10テンプレート関数

関数返すもの
rapls_pic_get_thumbnail_url( $pdf_id, $size )サムネイルの URL(なければ null)
rapls_pic_get_thumbnail_id( $pdf_id )サムネイル画像の添付ファイル ID(なければ null)
rapls_pic_get_thumbnail_image( $pdf_id, $size, $attr )サムネイルの <img> HTML
rapls_pic_has_thumbnail( $pdf_id )サムネイルがあるか(true / false)
rapls_pic_generate_thumbnail( $pdf_id, $force )サムネイルを生成して、その ID を返す。$force が true なら作り直す
$pdf_id = 123;
if ( rapls_pic_has_thumbnail( $pdf_id ) ) {
    echo rapls_pic_get_thumbnail_image( $pdf_id, 'medium' );
}

投稿に添付された PDF をすべて並べる例:

$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' )
        );
    }
}

11サムネイルが作られないとき

まず ツール → サイトヘルス の「PDF サムネイルの生成」か、ステータス タブを見てください。原因によって、頼む相手と頼む内容が変わります。

サーバーが PDF を読めない

表示ホスティング会社に頼むこと
Imagick 拡張が未インストールPHP の Imagick 拡張をインストールして有効にしてもらう。
ImageMagick のポリシーで PDF が禁止されていますpolicy.xml で PDF コーダーに読み取り権限を与えてもらう。2018 年の Ghostscript の脆弱性以来、PDF を禁止したままのサーバーが多くあります。原因のファイルのパスはステータスタブに出ます。
PDF に対応していませんImageMagick の PDF 対応(delegate)を有効にし、policy.xml が PDF を禁じていないか確認してもらう。

この PDF だけ作れない

表示対処
ページが真っ白な画像として描画されました。下の「真っ白になる」を参照。
ページが大きすぎて ImageMagick が開けませんでした。設定タブで描画解像度を下げて、もう一度生成する。大判のページを高い DPI で描画すると、数億ピクセルになることがあります。
アップロードフォルダーに画像を書き出せませんでした。wp-content/uploads の書き込み権限と、ディスクの空きを確認する。
アップロードフォルダーに PDF ファイルがありません。メディアライブラリには登録があるのにファイルがない状態です。PDF をアップロードし直す。
ImageMagick がページを描画できませんでした。表示されるエラーの原文を確認する。gs が出てくる場合は、サーバー全体ではなくこのファイルでの失敗です。

真っ白になる

1.4.0 以降、全面が 1 色のページは保存しません。PDF はアイコンのままになり、ステータスタブに理由が出ます。原因はおもに 2 つです。

  • Ghostscript が古い(9.27 以前):透明グループの中の画像で読み取りに失敗し、エラーを出さずに白いページを返します。PowerPoint や Illustrator から書き出した PDF で起きます。1.4.1 以降は、透明処理を切る指定(GS_OPTIONS)をその読み取りのあいだだけ環境に置いて、一度だけ読み直します。すでに絵が出たページには何もしません。根本的には、ホスティング会社に Ghostscript の更新を相談してください。
  • 一部の ImageMagick 6 と CMYK の PDF:CMYK の PDF を ImageMagick 自身が読めない形式(bmpsep8)で受け取るビルドがあります。プラグイン側では回避できません。ホスティング会社に、ImageMagick 7 への更新か、delegates.xml の ps:cmyk を bmpsep8 から pamcmyk32 に変えることを頼んでください。RGB の PDF には起きないので、「一部の PDF だけ白い」ときはこれを疑ってください。

色が派手になる

サーバーに CMYK の ICC プロファイルが見つからないと、単純な計算の変換になり、緑や青が派手になります。ステータスタブの「カラー管理」を確認してください。サーバーに CMYK のプロファイルを入れるか、rapls_pdf_image_creator_icc_paths フィルターでプロファイルの場所を指定すると、正しい色に戻ります。

更新前に作ったサムネイルは前の色のままです。一括生成で再生成してください。前の色に固定したい場合は次のようにします。

add_filter( 'rapls_pdf_image_creator_color_conversion', function() {
    return 'naive';
} );

12フィルターとアクション

フック内容
rapls_pdf_image_creator_thumbnail_page使うページ(0 始まり)。第 2 引数に PDF の ID
rapls_pdf_image_creator_thumbnail_max_width / _max_height最大幅・最大高さ
rapls_pdf_image_creator_thumbnail_resolution描画解像度(DPI)
rapls_pdf_image_creator_thumbnail_quality画像品質(1〜100)
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_pdfs_in_every_image_pickertrue を返すと、サムネイルのある PDF をすべての画像選択画面に出す(既定 false)
rapls_pdf_image_creator_shortcode_any_posttrue を返すと、ショートコードに PDF 以外の投稿の ID も指定できる(既定 false)
rapls_pdf_image_creator_show_upsellfalse を返すと、アドオンの案内をすべて消す
rapls_pdf_image_creator_hide_thumbnails_in_libraryメディアライブラリで生成画像を隠すか
rapls_pdf_image_creator_color_conversionauto(既定)/ icc / naive
rapls_pdf_image_creator_icc_pathsICC プロファイルを探すパス(srgb / cmyk ごと)
rapls_pdf_image_creator_rendering_intentレンダリングインテント(既定:相対的な色域を維持)
rapls_pdf_image_creator_flatten_background透明部分を合成する背景
rapls_pdf_image_creator_policy_paths / _delegate_paths診断で探す policy.xml / delegates.xml の場所
rapls_pdf_image_creator_refuse_blank_pagefalse を返すと、真っ白のページも保存する(1 ページ目が本当に白い PDF 向け)
rapls_pdf_image_creator_ghostscript_options真っ白のときの読み直しに使う指定を変える、または読み直しを止める
rapls_pdf_image_creator_show_review_promptfalse を返すと、レビューのお願いを出さない
rapls_pdf_image_creator_before_resize描画・合成のあと、縮小の前の画像(開発者向け)
rapls_pdf_image_creator_before_generate / _after_generate(アクション)生成の前後
rapls_pdf_image_creator_generation_failed(アクション)失敗したとき。第 3 引数に失敗の種類のコード、第 4 引数にエンジンの結果

2 ページ目を表紙にする例(設定タブの「ページ番号」でも同じことができます):

add_filter( 'rapls_pdf_image_creator_thumbnail_page', function( $page, $pdf_id ) {
    return 1; // 0 始まりなので 2 ページ目
}, 10, 2 );

13アンインストール

プラグインを削除すると、設定と、生成したサムネイル画像が削除されます。画像を残したい場合は、削除する前に 表示設定 → アンインストール時に画像を保持 をオンにしてください。残した画像は、普通の画像としてメディアライブラリに残ります。PDF ファイルそのものは削除されません。

14よくある質問

1 ページ目以外を表紙にできますか?

できます。設定タブの「ページ番号」で、サイト全体で使うページを指定してください(0 が最初のページ)。このサーバーでページの指定が効くかは、ステータスタブの「ページ選択」でわかります。

更新したのに、サムネイルの色が前のままです。

更新でサムネイルを自動では作り直しません。一括生成で「すでにサムネイルがある PDF も含める (再生成)」にチェックを入れて実行してください。

再生成したのに、画面では古い画像のままです。

1.4.1 以降は、再生成した画像に別のファイル名を付けるので、ブラウザーのキャッシュに邪魔されません。それより前に作った画像の場合は、ブラウザーのキャッシュを消してから確認してください。

添付ファイルの編集画面だけ、プレビューが真っ白です。

1.4.2 以前の表示です。WordPress はアップロード時に自分でも PDF のプレビューを作りますが、それには真っ白になる読み取りへの対策が効きません。編集画面はそのプレビューを表示していました。1.4.3 以降は、生成したサムネイルがある PDF ではそちらを表示します。プラグインを更新すれば直り、サムネイルを作り直す必要はありません。

サーバーでコマンドを実行しますか?

しません。PDF の描画は ImageMagick(Imagick 拡張)が行い、プラグインはプロセスを起動しません。真っ白のときの読み直しも、環境変数を一時的に置くだけです。

15アドオンについて

この無料プラグインに足す有料アドオン Rapls PDF Image Creator Pro があります。PDF ごとのページ指定と切り出し、差し替えられた PDF の検出と差し替え画面、タブを閉じても進むキューを追加します。無料プラグインの動作は、アドオンの有無で変わりません。アドオンの案内は、プラグイン一覧の行、設定タブの下のカード、ステータスタブ、ページ番号の欄の下(ページ番号を変えたあと一度だけ)の 5 か所だけに出ます。フィルター rapls_pdf_image_creator_show_upsell で false を返すと、すべて消えます。

条件:アドオンが Ghostscript を直接呼び出して描画するには、PHP がプログラムを起動できる(exec か proc_open の少なくとも一方が無効にされていない)こと、Ghostscript がインストールされていることが必要です。どちらかが欠けるサーバーでは、アドオンでも描画できません。使い方は アドオンのマニュアルにあります。
タイトルとURLをコピーしました