Base64をPDFに変換
APIやデータベースから届いたBase64エンコードのPDFを、読んで保存できる文書に戻します。
入力
出力
Base64をオンラインでPDFにデコード
ファイルを単体で送れないAPIは多く、そうしたAPIはファイルを1本の長いBase64文字列としてJSONに包みます。配送ラベル、請求書、取引明細、自動生成のレポートはこの形で届きます。データベースの列に保存されたPDFやメールのソースも同様です。このページは、貼り付けた時点でデコードするよう設定し、結果をPDFビューアーで表示するBase64エンコーダー・デコーダーです。
デコードはブラウザーの中で端末内で行われ、プレビューにはブラウザー自身のPDFビューアーを使うため、文書がアップロードされることはありません。
Base64のPDFを見分ける
PDFはすべて%PDF-というバイト列で始まり、これはBase64ではJVBERi0になります。APIのレスポンスにこの7文字で始まる文字列があれば、それはPDFです。data:application/pdf;base64,で始まる文字列は、同じものの前にラベルが付いているだけで、ツールがそのラベルを取り除いてくれます。
よくある問題
- エスケープされたスラッシュ:JSONでは
/の代わりに\/と表示されることがあります。パース済みのレスポンスから値をコピーするか、先に\/を/に置き換えてください。 - 引用符も一緒にコピーした:前後の
"はBase64の一部ではなく、文字列を無効にしてしまいます。 - Base64URL:
-と_を使う文字列は自動で変換されます。 - ビューアーが表示されない:データがPDFではありません。その場合もツールはファイルをダウンロードとして提供し、検出した種類に応じた名前を付けます。
コードで変換する
| プラットフォーム | デコードしてファイルに保存 |
|---|---|
| Linux / macOS | base64 -d in.txt > out.pdf |
| PowerShell | [IO.File]::WriteAllBytes('out.pdf', [Convert]::FromBase64String($s)) |
| Python | open('out.pdf', 'wb').write(base64.b64decode(s)) |
| Node.js | fs.writeFileSync('out.pdf', Buffer.from(s, 'base64')) |
ほかの種類のファイルなら、Base64デコードがテキスト、画像、あらゆるバイナリデータに対応しています。画像からPDFを作るには画像をPDFに変換を使ってください。