PDF文書 QRコード作成
100%プライベート、ローカル処理 — データがブラウザの外に出ることはありません。これらのQRコードは恒久的で、期限切れになることはありません。
PDF文書の設定
デザイン
中央にロゴを追加
画像はこのページ内で読み込まれ、data: URLとしてコードに埋め込まれます。アップロードはされず、ダウンロードするファイルの中に留まります。
その他のデザイン設定
コードの暗いほうの半分です。背景より明度を十分低く保ってください。
モジュール同士の隙間だけでなく、クワイエットゾーンも塗ります。背景を透過にするとファイルから省かれるので、この色では何も描画されません。
モジュールと背景のコントラストは11.5:1です。
PNGとWebPはアルファチャンネルを保持し、SVGは背景の矩形をそのまま省きます。コードを置いた面が、コントラストの明るいほうの半分になります。
グラデーションは暗いモジュールだけを塗ります。明るいほうの端がスキャナーの実際に得るコントラストを決めるので、両端とも暗いままにする必要があります。
2色目で、グラデーションを選んでいる間だけ使われます。1色目と並べてコントラストが測定されます。
左から右への向きを起点とした時計回りの角度です。放射グラデーションは中心から外へ広がるため、角度が効くのは線形のときだけです。
丸い形はセルを覆う面積が小さくなります。デコーダーが標本を取る中心は覆われたままですが、密度の高いコードを小さく印刷する場合は四角のほうが安定して読み取れます。
3つの位置検出パターンの外枠です。
各位置検出パターンの中にある目にあたる部分です。
コードの周囲の余白で、モジュール単位で測ります。規格上の最小値は4です。
復元レベルが高いほど多くの損傷に耐えられますが容量を消費するため、同じ内容でもシンボルが密になります。
中央にロゴがあり、レベルをHに固定しています。幅の上限はシンボルに応じて変わり、最小のコードで14%、密なコードで30%です。
ライブプレビューと書き出し
PDFを提供しているアドレスを入力してください。
書き出し
ラスター、画面向け
フォームを入力するとダウンロードが有効になります。
書き出しサイズとエンコードされたテキスト
- ペイロード
- まだ何もエンコードされていません
- シンボル
- まだ生成されていません
- 復元レベル
- M
入力待ち
QRコードはPDFそのものを収められないため、ここでエンコードするのはPDFが置かれているアドレスです。リンクはシンボル自体に書き込まれるので、コードは恒久的で、生かし続けなければならないのはホスティングの側です。
スキャンしたときの動作
読み取りアプリがリンクを開き、そのあとスマートフォンがPDFをプレビューするかダウンロードするかは、ブラウザとサーバーの配信方法によって決まります。
QRコードが保存するのはリンクであって、ファイルではありません
この形式が定める最大のシンボル、復元レベルLのバージョン40が保持できるのは2,953バイト、3キロバイトに少し足りない量です。1ページのPDFはたいてい50から500キロバイトの間なので、文書は四角に印刷するには1桁から3桁大きすぎます。世の中のPDFのQRコードは、どこで作られたものも、例外なくリンクです。
そこには、はっきり言っておくべき帰結があります。アドレスが物理的に印刷されているので、シンボルは20年後も解読できます。そのアドレスにまだファイルがあるかどうかはホスティングの問題で、印刷したコードに、それを保証することはできません。
リンクが生き続けるように置く
エンコードするアドレスは、印刷された控えを読み取るすべての人に対するあなたの約束なので、守れるものを選んでください。その条件を満たすのは、自分が管理するドメインのパスだけです。
短いパスは小さなシンボルにもなります。/docs/menu.pdf は15文字で低いバージョンに収まりますが、120文字の自動生成されたストレージのキーは、同じコードを何バージョンも押し上げて、何の得もありません。
- 署名付きや期限付きのリンク、つまりクラウドストレージが渡してくる一時的なダウンロードアドレスは、完璧に解読できたうえで、期限の日に失敗します
- ログインの内側にあるものは、文書ではなくサインイン画面を表示します
- ファイル名は固定してください。handbook-v2.pdf として上げ直すと、印刷済みの控えがすべて壊れます
- 代わりに同じアドレスでファイルを差し替えれば、印刷したコードはすべて新しい版を拾います
- httpsで配信してください。ブラウザが開く前に警告しなくなります
スマートフォンがそのファイルに対してすること
PDFを開く動きはQRの動きではなくブラウザの動きで、一様ではありません。iOSのSafariとAndroidのChromeは、ほとんどのPDFをその場で描画します。Androidの一部のブラウザはファイルをダウンロードして、別のビューアに渡します。デスクトップのスキャナーは、たいていアドレスを返すだけです。
1点だけ、あなたのサーバーが決定権を持ちます。Content-Disposition: attachment を付けて送られたファイルは、どのプラットフォームでもプレビューではなくダウンロードになります。その場で開かせたいなら、このヘッダーを設定しないでください。
よくある質問
PDFそのものをQRコードの中に入れられますか?
入れられません。この形式の上限は2,953バイトで、現実のPDFのほとんどより小さい値です。コードが保持するのは、そのファイルが配信されているアドレスです。
文書のタイトルは何に使われますか?
1つのことだけです。ダウンロードするSVG、PNG、WebPのファイル名になり、フォルダーに並んだ20個の書き出しを見分けられるようにします。ペイロードの一部ではないので、スキャナーが読むものは何も変わりません。
文書を更新するとどうなりますか?
同じアドレスでファイルを差し替えれば、印刷したコードはすべて動き続け、新しい版を表示します。新しいファイル名で上げた場合、印刷したコードは、もう存在しないファイルを指すことになります。
ファイルは公開されている必要がありますか?
コードを読み取る人が到達できる必要があります。公共のポスターに載せるコードには公開で読めるファイルが要りますし、建物の中にあるコードなら、そのネットワークでだけ解決する社内のアドレスを指していてかまいません。
静的QRコードの仕組み
このサイトのコードはすべて静的です。ペイロードは白黒のモジュールそのものに書き込まれています。読み取り時に何かを参照することはなく、当サイトのサーバーが関与することもなく、印刷されたコードをサブスクリプションが支えているわけでもありません。同じ性質が限界でもあります。一度印刷すると、中身は変更できません。
印刷したコードが読めるかどうかを決めるのは3つです。ペイロードが何バイトになったか、どの復元レベルが損傷を吸収するか、そして紙の上で1モジュールがどれだけの幅になるか。以下のガイドは、そのそれぞれを数字とともに扱います。