TIFF を Base64 に変換する方法
.tifや.tiffファイルをボックスにドロップするか、ファイル選択で選びます。- 出力形式 は最初 プレーン Base64 になっています。ほとんどの API が求めるのはこの形式です。JSON にすると、ファイル名、MIME タイプ、サイズが加わります。
- 出力をコピー を押します。大きなスキャン画像は .txt で保存 を使い、テキストファイルを添付またはアップロードしてください。
このページにはリサイズや形式変換の機能はありません。これらにはブラウザが画像をデコードする必要があり、TIFF をデコードできるのは Safari だけだからです。ファイルはバイト単位でそのままエンコードされるので、マルチページの文書、圧縮方式、タグは損なわれません。
Base64 の TIFF が使われる場面
TIFF は今も多くの文書スキャナーや FAX システムの標準出力で、アーカイブ、印刷ワークフロー、地理空間データ(GeoTIFF)でもよく使われます。こうしたファイルを JSON リクエストに入れる必要があるとき、運び役として使われるのが Base64 です。
- スキャンしたページを PDF や JPEG と並んで Base64 で受け付ける OCR や文書処理の API
- マルチページ TIFF の文書を受け付ける FAX や電子申請のサービス
- スキャン画像をデータベースのテキストカラムや JSON エクスポートに保存する記録管理システム
受け取る側が、スキャナーで使った圧縮方式に対応しているか確認してください。古いシステムは非圧縮や LZW の TIFF は読めても、JPEG 圧縮の TIFF は読めないことがあります。FAX サービスは CCITT Group 3 か Group 4 を想定していることがよくあります。
TIFF の圧縮方式と Base64 のサイズ
TIFF はピクセルを非圧縮で保存することも、いくつかの圧縮方式で保存することもできます。その選択によって Base64 の長さは大きく変わります。テキストだけの A4 ページを 300 dpi(2480×3508 ピクセル)で生成し、3 通りの方法で保存して試しました。
| 保存形式 | TIFF ファイル | Base64 の長さ |
|---|---|---|
| 8 ビットグレースケール、非圧縮 | 8,699,962 バイト | 11,599,952 文字 |
| 1 ビット白黒、非圧縮 | 1,087,590 バイト | 1,450,120 文字 |
| 1 ビット、CCITT Group 4 | 15,270 バイト | 20,360 文字 |
テキストのページなら、Group 4 圧縮の白黒はグレースケールの数百分の 1 の大きさです。サイズ上限のある API にスキャン画像を送る前に、Base64 側で苦労するのではなく、スキャナーのソフトウェアでスキャンし直すか変換してください。
Base64 での TIFF
| ヘッダーのバイト | Base64 | バイト順 |
|---|---|---|
49 49 2A 00(II*) | SUkqAA | リトルエンディアン、より一般的な順序 |
4D 4D 00 2A(MM*) | TU0AKg | ビッグエンディアン |
49 49 2B 00(II+) | SUkrAA | BigTIFF、4 GB を超えるファイル用 |
最初のディレクトリがオフセット 8 にあるリトルエンディアンの TIFF は SUkqAAgAAAA で始まります。Base64 をファイルに戻すには、標準的な TIFF ヘッダーを認識する Base64 をファイルに を使ってください。ブラウザで表示できるほかの画像形式については 画像を Base64 に を参照してください。
よくある質問
Base64 の TIFF を Web ページに表示できますか?
Safari だけです。Chrome、Edge、Firefox には TIFF のデコーダーがないので、<img> や CSS に入れた data:image/tiff の URI は壊れた画像になります。Web で表示するには、スキャン画像を PNG、JPEG、PDF に変換してください。
マルチページ TIFF のすべてのページが Base64 に残りますか?
はい。Base64 はファイル全体をエンコードするので、すべてのページ、圧縮方式、メタデータが保たれます。受け取る側には、ドロップしたファイルとまったく同じものが届きます。
SUkqAA や TU0AKg は何を意味しますか?
TIFF のヘッダーとして考えられる 2 種類です。SUkqAA は II*\0 でリトルエンディアンの TIFF(一般的なほう)、TU0AKg は MM\0* でビッグエンディアンです。BigTIFF ファイルは代わりに SUkrAA で始まります。