PDF → Base64 変換ツール
最大 10 MB。アップロードは行われず、ファイルが端末から出ることはありません。
<img src> 属性や CSS の url() でそのまま使えます。
data: プレフィックスなし。JSON のペイロードや API 向けです。
ページ内に文書を表示します。ダウンロードリンクにする場合は、データURIを download 属性付きの <a href> に入れてください。
ファイルのプライバシーを保護
この変換はすべてブラウザー内で行われます。画像がアップロードされることはなく、ここでエンコードした内容が当社のサーバーや第三者に渡ることもありません。
PDFからBase64への変換について
画像を Base64 にエンコードするのは、たいていウェブ性能上の判断です。PDF の場合はほとんどそうではありません。人が文書を変換するのは、相手側の何か——電子署名サービス、請求システム、税務当局、メッセージング API——がファイルを JSON フィールド内のテキストとしてしか受け付けないからです。これは運搬の問題であり、別の規則が働きます。
PDFをBase64に変換する手順
- 1 .pdf ファイルをアップロード欄にドロップします。
- 2 サイズの行を確認してください。エンコード後の文字列は約 3 分の 1 大きくなり、API の上限が適用されるのはその数値です。
- 3 JSON のフィールドに入れるなら生の文字列を、文書を表示したりリンクしたりするならデータURIをコピーしてください。
これは実際に何のためのものか
JSON には生のバイト列を運ぶ手段がありません。API が JSON ボディの中に文書を求めるなら、文書はまず文字列にならなければならず、その標準的な方法が Base64 です。電子署名サービスに契約書を送るとき、行政ポータルに請求書を提出するとき、トランザクションメール API でファイルを添付するとき、あるいは文書をメッセージキューに投入するときに出会います。いずれの場合も代替手段は multipart アップロードで、多くの API が対応していますが、対応していないものもあります。
PDF をウェブページに埋め込まないこと
このページの埋め込みスニペットは、本当に必要になる稀な場面のためにあります。単体で完結する HTML ファイル、オフラインのレポート、メールのプレビューなどです。文書を公開する手段としては適していません。リンクされた PDF はストリーミングできます。ビューアーは最初の数ページを読み込んで表示し、残りはその間に届きます。データURIではそれができません。ビューアーが 1 バイトを目にする前に、ブラウザーがデコード済みの文書全体をメモリーに保持しなければならないからです。数メガバイトのファイルでは、即座に出るはずのプレビューが待ち時間に変わり、しかもページを文書と切り離してキャッシュすることもできません。
見るべきはファイルサイズではなくペイロード上限
4 MB の PDF はおよそ 5.4 MB のテキストになり、API が測るのはその大きいほうの数値です。リクエストボディの上限が数メガバイトというのはよくある話なので、ファイルとしては余裕で収まって見える文書が、エンコード後に拒否されることがあります。この壁に当たったとき、答えはたいてい「PDF をもっと圧縮する」ではありません。その API に別途ファイルアップロード用のエンドポイントや事前署名 URL があるか確認してください。それらは生のバイト列を受け取るため、33% の増加を丸ごと回避できます。このページの上限は 10 MB で、これはすでに多くの JSON エンドポイントが受け付ける範囲を超えています。