紙のカタログや取扱説明書を持っている商品ほど、ネットショップの商品ページでは情報が足りなくなりがちです。寸法表、素材の一覧、使い方の図解、シリーズ全体のラインナップ。これらを商品説明に書き写すのは手間で、PDF のままリンクを置くと、お客様はダウンロードしてからビューアを開き、読み終えたら商品ページへ戻ってくる、という遠回りを強いられます。
「シンプルPDFカタログ|お手軽PDFフリップブック表示」は、この遠回りを無くすために当社(UnReact)が開発した Shopify アプリです。アプリの管理画面で商品を選んで PDF を 1 冊登録すると、その商品のページにボタンが 1 つ現れ、お客様がそれを押した瞬間に画面全体が本のビューアになり、ページをめくるように読めます。登録する PDF は商品ごとに別々なので、スノーボードにはスノーボードの、ビンディングにはビンディングの 1 冊を見せられます。
この記事では、管理画面の 3 画面とテーマエディタの 14 項目を 1 つずつ、画面の画像を添えて解説します。初期設定の手順そのものは Shopifyで商品ページにPDFカタログをめくって読めるフリップブックで表示できるアプリについて徹底解説|ご利用ガイド に詳しく書いてあるので、ここでは「それぞれの設定が何を決めているのか」「画面には出てこない上限や挙動」「用途ごとの組み合わせ方」に重心を置きます。後半では、アプリを使わずに Liquid と JavaScript で同じことを組む場合の手順と、カタログを作るタイプのアプリとの使い分けにも触れます。
「シンプルPDFカタログ」は、商品ごとに登録した PDF を、商品ページの上で全画面のフリップブックとして開く Shopify アプリです。英語名は UR: PDF Flipbook Catalog で、Shopify App Store から 7 日間の無料体験付きでインストールできます。

「フリップブック」は、PDF の各ページを本のように左右へめくって読む表示形式の呼び名です。スクロールで下へ下へと読む PDF ビューアと違い、見開きで組まれたカタログや、紙面のレイアウトに意味がある取扱説明書を、紙と同じ感覚で読ませられます。
アプリは 3 つの部品でできています。
インストール時に求める権限は、商品の読み書き、ファイルの読み書き、テーマの読み取りの 3 種類です。商品への書き込みはメタフィールドに PDF の参照を保存するため、ファイルへの書き込みは PDF をアップロードするため、テーマの読み取りは「設定」画面でテーマの一覧を出すためで、顧客や注文のデータには一切触れません。
カタログを 1 冊作ってストアのどこかに埋め込むタイプのアプリは、「この商品の資料だけ見たい」というお客様の目的に合いません。このアプリは商品一覧の行ごとに「PDF を登録」ボタンがあり、商品 A には A の取扱説明書、商品 B には B の仕様書、というように 1 対 1 で結び付けます。登録した商品のページにだけボタンが出て、登録していない商品のページには何も出ません。

PDF は Shopify の CDN(配信サーバー)に置かれ、商品ページの Liquid がその URL を直接読み、めくる処理はお客様のブラウザの中で完結します。つまり、お客様がカタログを開く一連の動作に、当社のサーバーは一度も登場しません。アプリ側に障害が起きても、すでに登録済みのカタログは表示され続けます。「アプリの不調で商品ページのボタンが消えた」という事態を、構造の時点で起こらないようにしています。
商品ページを開いた時点で読み込まれるのは、ボタン用のスタイルシートと起動用のスクリプトを合わせて 10 KB ほどだけです。PDF を描画するライブラリ(pdf.js、約 1.7 MB)とめくり演出のライブラリ、そして PDF 本体は、お客様がボタンを押したあとに初めて読み込みます。カタログを登録したからといって、商品ページの初期表示が重くなることはありません。審査で見られるストアフロントの性能指標(Lighthouse)にも影響しないよう設計しています。
ビューアは表示できる幅を見て、見開き 2 ページで組むか 1 ページずつ組むかを自動で切り替えます。設定項目はありません。PC で見れば紙のカタログを開いたような見開き、スマートフォンで見れば 1 ページが画面いっぱいに出て、タップやスワイプで次へ進めます。

管理画面、商品ページのボタンの既定の文言、ビューアのツールバーの文言は、いずれも日本語・英語を含む 20 言語で用意してあります。日本語のストアなら「カタログを見る」、英語のストアなら「View catalog」と、お客様が見ている言語に合わせて自動で切り替わるので、海外向けに多言語で公開しているストアでも翻訳の手間がありません。
カタログと取扱説明書の両方を 1 つの商品に付けたい、という場合でも登録できるのは 1 冊です。複数の資料を見せたいときは、1 つの PDF に結合してから登録することになります。
容量の上限は 20 MB で、これは Shopify のファイル機能そのものの上限です。アプリ側の設定で広げることはできません。写真を多く含む印刷用データはこの上限を超えやすいので、Web 用に画像を圧縮した版を用意してから登録してください。外部サイトに置いた PDF の URL を貼る方式には対応していません。
ブロックは商品テンプレート専用で、トップページやコレクションページ、固定ページの「ブロックを追加」には出てきません。ストア全体の総合カタログを 1 冊置きたい、という用途には向きません。
ビューアのダウンロードボタンは設定で消せますが、PDF は Shopify の公開 URL に置かれるため、ブラウザの機能で保存されることまでは防げません。印刷やコピーの禁止機能もありません。「見せてもよい資料」を載せる前提のアプリです。
PDF を登録・差し替え・削除しても、商品ページに反映されるまで数十分から数時間かかることがあります。商品データが Shopify の CDN にキャッシュされるためで、アプリ側で即時に反映させる手段はありません。管理画面の一覧にファイル名が出ていれば登録自体は完了しているので、焦らず待つのが正解です。
このアプリは、すでにある PDF を見せることに絞っています。アプリの中でカタログをデザインする機能、ページの上に商品へのリンクを置くホットスポット、3D のめくり演出、閲覧数の解析は持っていません。
料金プランは 1 つで、月額 4.99 ドルです。年払いを選ぶと 49.99 ドルで、月払いを 12 か月続けるより 2 か月分安くなります。インストールから 7 日間は無料で、期間中にアンインストールすれば請求は発生しません。無料プランや、登録した冊数に応じて金額が変わる課金はありません。
課金は Shopify の仕組みを通して行われ、プランの選択と承認はインストール直後の画面で済みます。アプリ側で別途クレジットカードを登録する必要はありません。
インストールの入口は、Shopify 管理画面の左下の「設定」から「アプリと販売チャネル」を開き、そこにあるアプリストアへのボタンを押す経路です。アプリストアの検索窓に「UR: PDF Flipbook Catalog」と入れると一覧に出ます。

アプリの詳細ページで「インストール」を押します。公開から間もないあいだは検索結果の下の方に出ることがあるので、見つからなければ Shopify App Store のリンクから直接開いても同じです。

権限の確認画面が開きます。ここに並ぶのは「商品」「オンラインストア」「ファイル」の 3 つで、前述のとおり顧客や注文は含まれません。内容を確認して「インストール」を押すと、料金プランの承認を経てアプリの管理画面が開きます。

左のメニューに並ぶのは「PDF フリップブック」と「設定」の 2 つです。これに加えて、管理画面の表示言語が日本語で、かつ当社が「よくある質問」を 1 件以上公開しているときだけ、3 つ目として「よくある質問」が出ます。この記事を書いている時点ではまだ公開していないため、メニューは 2 つです。

役割の分担は単純です。「PDF フリップブック」が日々使う主画面で、商品と PDF を結び付ける作業はすべてここで行います。「設定」は最初の 1 回だけ触る画面で、テーマへの追加と、管理画面の言語の切り替えがあります。ボタンの見た目は管理画面のどこにも無く、テーマエディタ側に集めてあります。
画面のいちばん上に、黄色いバナーで「登録した PDF が商品ページに反映されるまで、時間がかかることがあります。」と出ています。閉じるボタンは無く、常に表示されます。
商品ページのボタンは、商品に紐付いたメタフィールドの値を Liquid で読んで描画します。この値は Shopify の CDN に商品データごとキャッシュされるため、管理画面で登録・差し替え・削除をした直後は、古い状態の商品ページが配信され続けることがあります。遅れの長さはそのときどきで、数分で反映されることもあれば数時間かかることもあります。「登録したのにボタンが出ない」と問い合わせを受けたときに最初に疑う場所なので、消せない形で置いてあります。
一覧の上にある「商品を検索」の欄(入力前は「商品名で検索」と薄く表示)に語句を入れて「検索」を押すと、商品名にその語句を含む商品だけに絞り込めます。部分一致で、大文字と小文字は区別しません。

検索語はページの URL に付きます。絞り込んだ状態のまま PDF を登録しても絞り込みは解除されず、ブラウザの「戻る」で検索前の一覧に戻れます。商品数が多いストアでは、先に検索してから登録する方が行を探す手間が省けます。

一致する商品が無いときは「商品がありません」と出ます。欄を空にして「検索」を押せば全商品の一覧に戻ります。そもそもストアに商品が 1 つも無いときは、ここに「ストアに商品を追加すると、ここに一覧が出ます。」と案内が出ます。検索の対象は商品名だけで、SKU やタグ、商品説明の中の語では探せません。
一覧は 1 ページに 50 件、Shopify の商品一覧と同じ並び順(新しく作った商品が上)です。下書きやアーカイブ済みの商品も並ぶので、公開前の商品に先に PDF を付けておくこともできます。

列は 3 つあります。
PDF 列には、ファイル名のほかに 2 種類のバッジが出ることがあります。
赤いバッジが出る典型は、「ファイル」画面の整理で古い PDF をまとめて消したときです。アプリは商品との結び付きだけを持っていて、ファイル本体の削除を止めることはできないため、一覧でこの表示を定期的に確認しておくと安全です。
未登録の行の「PDF を登録」を押すと、商品名を見出しにしたモーダルが開きます。「PDF を選択」を押してファイルを選ぶか、枠の中へドラッグ&ドロップします。

ファイルを選ぶと、枠の中にファイル名と容量が表示され、「アップロード」が押せるようになります。

選べるファイルには 3 つの条件があります。

「アップロード」を押してからの流れは、画面には見えませんが 4 段階あります。まずアプリがファイル名と容量を Shopify に伝えて一時的な置き場所を発行してもらい、次にブラウザがその置き場所へ PDF を直接送ります。送信が成功すると Shopify のファイルとして正式に登録され、処理が終わる(READY になる)のを 1 秒おきに最大 20 回まで待ち、最後に商品のメタフィールドへ参照を書き込みます。PDF の中身がアプリのサーバーを経由することはありません。
処理中はモーダルのボタンが無効になり、閉じることもできません。終わると画面上部に「PDF を登録しました」のトーストが出て、一覧の PDF 列にファイル名と容量が入ります。小さい PDF なら数秒で終わります。

失敗したときのメッセージは 3 種類あり、原因がそれぞれ違います。「アップロードに失敗しました」はブラウザからの送信そのものが通らなかったとき(通信の不調など)、「アップロードの処理が完了しませんでした」は送信は済んだが 20 秒待っても Shopify 側の処理が終わらなかったとき、「入力内容を確認してください」はファイル名が長すぎるなど送った値がはじかれたときです。どの場合もモーダルは開いたままなので、ファイルを選び直して「アップロード」を押し直せます。処理が終わらなかった作りかけのファイルはアプリが自動で削除するため、「ファイル」画面にゴミは残りません。
登録済みの行の「差し替え」を押すと、「PDF を差し替え」という見出しのモーダルが開きます。中身は登録時とまったく同じで、新しい PDF を選んで「アップロード」を押すだけです。

差し替えが終わると、商品ページのボタンは新しい PDF を開くようになります。注意したいのは、古い PDF が「コンテンツ > ファイル」に残り続けることです。アプリは「そのファイルが他の場所で使われていないか」を判断できないため、勝手には消しません。カタログを毎シーズン更新するストアでは、差し替えのたびに古いファイルが 1 つ増えていくので、年に一度は「ファイル」画面で整理するとよいでしょう。
登録済みの行の「削除」を押すと、「PDF を削除しますか?」の確認モーダルが開きます。本文に「商品ページのボタンが表示されなくなります。ファイル自体は「ファイル」に残ります。」とあるとおり、消えるのは商品との結び付きだけです。

「削除」を押すと「PDF を削除しました」のトーストが出て、その行は「—」と「PDF を登録」に戻ります。商品ページのボタンは、反映の遅れを経て消えます。

一時的にボタンを隠したいだけなら、削除ではなくテーマエディタでブロックを非表示にする方が手早く、元に戻すのも簡単です。削除は「この商品にはもう資料を付けない」と決めたときに使います。
一覧の末尾に「前へ」「次へ」のボタンがあります。商品が 50 件を超えると「次へ」が押せるようになり、次の 50 件に移ります。1 ページ目では「前へ」が、最後のページでは「次へ」が無効になります。

検索で絞り込んでいるときも同じ単位でページが送られます。登録済みの商品だけを一覧にする絞り込みは無いので、数百点の商品の中から「どれに PDF を付けたか」を見直したいときは、ページを順に送るか、商品名で検索して確かめます。
左のメニューの「設定」を開くと、最初に「テーマに PDF フリップブックを追加」のカードがあります。左上の矢印で主画面へ戻れます。

カードの下には 2 つのお知らせが出ます。1 つは、管理画面が日本語表示のときだけ出る黄色いバナーで、自動追加がうまくいかないテーマではご利用ガイドを見て手動で追加してほしい、という案内です。もう 1 つは青いバナーで、テーマエディタからブロックを手動で追加すれば商品ページの好きな位置にボタンを置ける、ということを伝えています。
「言語を選択」で管理画面の表示言語を選び、「変更する」を押すと、その場で切り替わります。

選べるのは、チェコ語、デンマーク語、ドイツ語、英語、スペイン語、フランス語、イタリア語、オランダ語、ノルウェー語(ブークモール)、ポーランド語、ポルトガル語(ブラジル)、ポルトガル語(ポルトガル)、フィンランド語、スウェーデン語、トルコ語、タイ語、日本語、簡体字中国語、繁体字中国語、韓国語の 20 言語です。
ここで選んだ言語は、使っているブラウザの中に保存されます。別のブラウザや別の PC から開くと、Shopify アカウントの言語に従った表示に戻ります。スタッフごとに違う言語で使いたいときに便利な反面、「自分の PC では日本語なのに、同僚の画面では英語だった」という状況も起こり得るので、共有の手順書を書くときは言語を明記しておくとよいでしょう。この設定が影響するのは管理画面だけで、お客様に見えるボタンやビューアの言語には関係しません。
言語設定の下には、当社が公開している他の Shopify アプリの一覧があります。名前を押すとアプリストアのページが新しいタブで開きます。右上の「×」で一覧を閉じることもできます。

当社が日本語で公開している FAQ を、アプリの管理画面の中で読める画面です。FAQ が 1 件以上公開されていて、かつ管理画面の言語が日本語のときだけ、左のメニューに「よくある質問」が現れます。英語などの他の言語で使っているときは、FAQ があってもメニューには出ません。この記事の執筆時点では FAQ を公開していないため、画面の画像はありません。問い合わせを受けた内容のうち、他のストアにも当てはまるものから順に追加していく予定です。
ブロックをテーマに入れる方法は 2 つあります。手早いのは「設定」画面の「テーマに追加」で、押すだけで商品ページのメインセクションにブロックが入った状態のテーマエディタが開きます。

テーマによっては自動追加が効かないことがあります。その場合はテーマエディタで商品ページ(「デフォルトの商品」テンプレート)を開き、「商品情報」セクションの「ブロックを追加」から「アプリ」タブを選び、「UR: PDF Flipbook Catalog」を押して手動で入れます。

どちらの方法でも、テーマエディタの右上の「保存」を押すまでブロックは確定しません。追加した直後は PDF を登録していない商品が表示されていることが多く、その場合はプレビューに何も出ません。プレビュー上部の商品の選択から、PDF を登録済みの商品に切り替えると、ボタンが現れて位置や見た目を確かめられます。
ブロックの置き場所に決まりはありませんが、お客様の目線を考えると「商品説明の直後」か「購入ボタンの直後」のどちらかが自然です。前者は「説明を読んで、もっと詳しく知りたい人がカタログを開く」流れ、後者は「買う前に仕様を確かめたい人がすぐ開ける」流れになります。
ボタンの見た目は、テーマエディタでブロックを選んだときに左に出る設定パネルで決めます。パネルは「ボタン設定」「余白設定」「その他の設定」の 3 つのグループに分かれ、合計 14 項目です。変更は右のプレビューに即座に反映され、「保存」を押すまでストアには出ません。
ビューアそのもの(暗くなった全画面とツールバー)の配色や文言を変える設定はありません。ツールバーの文言はお客様の言語に合わせて自動で切り替わり、ボタンの色をどう変えてもビューアの見た目は共通です。


ボタンの左には本を開いたアイコンが常に付きます。アイコンだけを消す項目は無く、消したいときは後述の「追加CSS」で非表示にします。

4 つとも -100〜100px の範囲を 2px 刻みで指定できます。マイナスにすると上や下の要素に食い込む形で近づけられるので、テーマのセクションが持つ余白と二重になって間延びしたときの調整に使えます。余白はブロックの外側に付くため、ボタンそのものの大きさは変わりません。

欄の注記にあるとおり、ブラウザの検証機能でクラス名を確かめてから書きます。よく使うクラス名は 3 つで、ボタン本体が .ur-pdf-flipbook-button、左のアイコンが .ur-pdf-flipbook-button__icon、文字が .ur-pdf-flipbook-button__text です。たとえば角を丸くしてアイコンを消すなら、次のように書きます。
.ur-pdf-flipbook-button { border-radius: 999px; }
.ur-pdf-flipbook-button__icon { display: none; }
1 行目でボタンの角を完全な丸みにし、2 行目でアイコンを非表示にしています。ビューア(全画面の部分)はページのいちばん外側に生成されるため、この欄の CSS は届きません。ビューアの色を変えたい場合はテーマの theme.liquid などに書く必要がありますが、ツールバーの構造はアプリの更新で変わることがあるので、おすすめはしません。
設定を保存すると、商品ページのブロックを置いた位置にボタンが出ます。PC の商品ページでは商品説明の下に、スマートフォンでは同じ位置に幅に合わせて表示されます。


ボタンを押すと、画面全体が暗くなり、中央に PDF が開きます。このときに初めて PDF の描画ライブラリと PDF 本体を読み込むため、最初の 1〜2 秒は「読み込み中…」と出ます。8 ページ程度のカタログなら、押してから約 2 秒で表紙が開きます。

ビューアの操作はツールバーに集まっています。
見開きにするか 1 ページにするかは、ビューアの幅が 640px 以上あるかどうかで決まります(1 ページの最小幅 320px の 2 倍)。表紙は見開きでも 1 枚だけで表示され、2 ページ目からが見開きになります。1 ページの幅は最大 1000px までで、それより大きな画面では左右に余白ができます。


スマートフォンでは、同じ PDF が 1 ページずつ表示されます。タブレットを横向きにすると見開き、縦向きにすると 1 ページになるのも、幅の判定による正常な動作です。


PDF が読み込めなかったとき(ファイルが削除されていた、通信が途中で切れたなど)は、ビューアの中に「PDF を読み込めませんでした。」と「PDF を開く」のリンクが出ます。リンクを押すと PDF を新しいタブで直接開けるので、お客様が行き止まりになりません。
キーボードだけでも一通り操作でき、ビューアが開くと「閉じる」にフォーカスが移り、閉じると元のボタンへ戻ります。スクリーンリーダーには「PDF ビューア」という名前のダイアログとして伝わります。
14 項目のうち、見え方を大きく左右するのは「ボタン設定」の前半 5 つです。目的別に組み合わせの例を挙げます。
購入ボタンの主役感を邪魔したくないときは、「ボタンのスタイル」を枠線、「ボタンの配置」を右にします。白地に枠だけの控えめなボタンが商品説明の右下に収まり、「気になる人だけ開く」導線になります。

カタログが購買の決め手になる商品(家具や楽器のような高単価の商品)では、「ボタンを横幅いっぱいにする」をオンにし、「ボタンの色」をブランドカラーにします。「カートに追加」と同じ幅でそろい、色で役割が区別できます。

資料の種類を伝えたいときは「ボタンの文言」に「製品カタログを読む」「取扱説明書を見る」のように入れます。海外のお客様にも同じ文言が出ることだけ念頭に置いてください。


閲覧専用にしたいときは「ビューアにダウンロードボタンを表示する」をオフにします。完全な複製防止ではありませんが、「その場で読むためのもの」という意図は十分に伝わります。
アプリを使わずに同じことをしようとすると、どこまで手間がかかるのかを見ておきます。ここでは「商品ごとの PDF を商品ページで開く」最小構成を、Shopify のメタフィールドと Liquid、それに JavaScript で組みます。
最初に、商品ごとに PDF を持たせる入れ物を用意します。Shopify 管理画面の「設定 > カスタムデータ > 商品」で、タイプが「ファイル」のメタフィールド定義(たとえばネームスペースとキーを custom.catalog_pdf)を作り、各商品の編集画面から PDF をアップロードします。これで商品ページの Liquid から PDF の URL を取れるようになります。
次に、商品テンプレートのセクションか、テーマの「カスタム Liquid」ブロックに、ボタンを描く Liquid を書きます。
{%- assign catalog = product.metafields.custom.catalog_pdf.value -%}
{%- if catalog != blank and catalog.url != blank -%}
<button type="button" class="my-catalog-button" data-pdf-url="{{ catalog.url }}">
カタログを見る
</button>
<div class="my-catalog-overlay" hidden>
<button type="button" class="my-catalog-close">閉じる</button>
<canvas class="my-catalog-canvas"></canvas>
<div class="my-catalog-nav">
<button type="button" data-step="-1">前へ</button>
<span class="my-catalog-page"></span>
<button type="button" data-step="1">次へ</button>
</div>
</div>
{%- endif -%}
メタフィールドが空の商品では何も出さないように、最初の if で値と URL の両方を確かめています。ボタンに data-pdf-url として PDF の URL を持たせ、描画用の canvas と前後のボタンを含むオーバーレイを、最初は hidden で置いておきます。
続いて、ボタンが押されたときに pdf.js を読み込み、1 ページずつ canvas に描く JavaScript です。pdf.js は Mozilla が公開しているライブラリで、ここでは CDN から読み込みます。
document.querySelectorAll('.my-catalog-button').forEach((button) => {
button.addEventListener('click', async () => {
const overlay = button.nextElementSibling;
const canvas = overlay.querySelector('.my-catalog-canvas');
const label = overlay.querySelector('.my-catalog-page');
const pdfjs = await import('https://cdn.jsdelivr.net/npm/pdfjs-dist@4/build/pdf.min.mjs');
pdfjs.GlobalWorkerOptions.workerSrc =
'https://cdn.jsdelivr.net/npm/pdfjs-dist@4/build/pdf.worker.min.mjs';
const doc = await pdfjs.getDocument(button.dataset.pdfUrl).promise;
let current = 1;
const render = async () => {
const page = await doc.getPage(current);
const viewport = page.getViewport({ scale: 1.5 });
canvas.width = viewport.width;
canvas.height = viewport.height;
await page.render({ canvasContext: canvas.getContext('2d'), viewport }).promise;
label.textContent = `${current} / ${doc.numPages}`;
};
overlay.querySelectorAll('[data-step]').forEach((nav) => {
nav.addEventListener('click', () => {
current = Math.min(doc.numPages, Math.max(1, current + Number(nav.dataset.step)));
render();
});
});
overlay.querySelector('.my-catalog-close').addEventListener('click', () => {
overlay.hidden = true;
});
overlay.hidden = false;
render();
});
});
ボタンが押されたときに初めて import() で pdf.js を読み込んでいるのは、商品ページの初期表示を重くしないためです。getDocument で PDF を開き、render 関数が現在のページを canvas に描きます。「前へ」「次へ」は current を増減して描き直すだけの単純な作りです。
ここまでで「商品ごとの PDF を商品ページで 1 ページずつ読む」最小限の動作は手に入ります。ただし、実際にストアで使える品質にするには、まだ次の仕事が残っています。
canvas のサイズも変わるため、オーバーレイの中でのスクロール位置の管理が要ります| t)に置き換え、テーマの各言語ファイルに文言を足す作業が、対応する言語の数だけ発生します「シンプルPDFカタログ」は、この一覧をすべて片付けた状態で提供しています。描画ライブラリとめくり演出はアプリの資産として同梱し、見開きと 1 ページの切り替え、3 段階の拡大、20 言語の文言、キーボードとフォーカスの管理、エラー時の逃げ道までを 1 つのブロックに収めています。月額 4.99 ドルは、この実装と保守を自分で抱え続ける手間と比べて判断してください。
Shopify のアプリストアで「PDF」「フリップブック」と検索すると、Real3D: Flipbook & PDF Catalog、K:PDF Viewer, Flipbook+Catalog、GA: PDF Catalog + PDF FlipBook、Simple PDF Flipbook など、同じく PDF をめくって読ませるアプリが見つかります。それぞれの細かな違いは別の記事に譲り、ここでは「どういう役割の違いがあり、組み合わせるならどう設定するか」をまとめます。
カタログ系のアプリの多くは、アプリの中にカタログを 1 冊作り、その埋め込みコードやブロックを任意のページに置く発想です。ストア全体のラインナップをまとめた総合カタログを、トップページや専用の固定ページで見せるのに向いています。ページの上に商品へのリンクを置いて、カタログからそのまま商品ページへ送る機能を持つものもあります。
「シンプルPDFカタログ」はその逆で、商品 1 つに資料 1 冊を結び付け、商品ページの中だけで完結させます。総合カタログを作る機能は無い代わりに、登録は商品一覧から行え、商品ごとの取扱説明書や仕様書といった「その商品を見ている人にだけ必要な資料」を、迷いなく出せます。
総合カタログを固定ページに置き、商品ページには商品別の資料を置く、という併用は相性がよい組み合わせです。その場合は次の順で設定すると、お客様が混乱しません。
手元にある資料の形で決めるのが早道です。すでに商品ごとに PDF が分かれている(メーカーから取扱説明書が製品単位で提供されている、シリーズごとに仕様書がある)なら、「シンプルPDFカタログ」から始めると、登録するだけで今日中に商品ページへ出せます。逆に、手元にあるのが全商品を収めた 1 冊の総合カタログだけなら、それを分割するより総合カタログ系のアプリで 1 冊のまま見せる方が早く、後から商品別の資料が増えてきた段階でこのアプリを足すのが自然です。
「読ませる」より「渡す」が目的なら、アプリは要りません。「コンテンツ > ファイル」に PDF をアップロードし、その URL を商品説明の中のリンクにすれば、お客様はクリックで PDF を開けます(ブラウザの PDF ビューアが開くか、ダウンロードされるかは端末次第です)。保証書の PDF や、印刷して使う組み立て図のように「手元に置いてもらう」資料はこれで足ります。商品ページを離れずに、紙面のレイアウトのまま読んでほしい資料のときに、このアプリの出番になります。
「シンプルPDFカタログ|お手軽PDFフリップブック表示」は、商品ごとに PDF を 1 冊登録し、商品ページのボタンから全画面のフリップブックで読ませる Shopify アプリです。管理画面でやることは商品一覧から PDF を登録・差し替え・削除することだけで、見た目の 14 項目はテーマエディタに集めてあります。
制約もはっきりしています。1 商品 1 冊、20 MB まで、商品ページ専用、ダウンロードの完全な禁止はできない、反映に時間がかかることがある、の 5 つです。この条件に収まる資料を持っている商品があるなら、7 日間の無料体験のあいだに 1 商品だけ登録して、商品ページでめくってみてください。紙のカタログをそのまま売り場に置いたときの手応えが分かります。
当社では、商品ページの情報を厚くするアプリや、店舗運営の手間を減らすアプリを多数公開しています。PDF カタログと組み合わせやすいものを挙げます。