使用方法
- 粘贴 Base64 字符串或 data:image/tiff;base64 URI。
- 查看识别出的格式和大小。TIFF 没有预览是正常现象,大多数浏览器都是如此。
- 选择“原始文件”可按收到的样子保存 TIFF;保持 TIFF 选中,则可以转换 PNG、JPEG、WebP 等图片。
- 下载 .tiff 文件。
识别 TIFF 数据
TIFF 文件以字节序标记开头。小端序文件以 II(源自 Intel)开头,编码后为 SUkq;大端序文件以 MM(源自 Motorola)开头,编码后为 TU0A。Base64 TIFF 常见于文档扫描仪、传真服务、OCR 流程、档案系统以及处理 GeoTIFF 的 GIS 工具。MIME 类型为 image/tiff,扩展名 .tif 和 .tiff 可以互换。
为什么可能没有预览
Chrome、Edge 和 Firefox 都无法显示 TIFF 图片,Safari 是主要的例外。即便如此,本工具仍会根据文件头识别格式、显示解码后的大小,并在你选择“原始文件”时保存文件,之后可以用看图软件、PDF 工具或图片编辑器打开。
把 TIFF 转换为 PNG 或 JPEG 需要浏览器先完成解码,因此只有在能显示 TIFF 的浏览器中才可行。扫描文档和传真常用多页 TIFF,以“原始文件”格式下载时所有页面都会保留;转换只能使用浏览器解码出的那一张图,通常是第一页。
转换为 TIFF
反方向的转换在所有浏览器中都能进行:浏览器能显示的任何图片,从 PNG、JPEG 到 WebP、GIF、AVIF、BMP 或 SVG,都可以保存为 TIFF。输出为每通道 8 位的未压缩 RGBA,每个像素约占 4 个字节。它不使用 LZW 或 ZIP 压缩,也不会转换为 CMYK;如果印刷厂要求 CMYK,请用专业图片编辑软件转换。
// Go:把 Base64 TIFF 数据写入磁盘
data, err := base64.StdEncoding.DecodeString(b64)
if err != nil {
log.Fatal(err)
}
os.WriteFile("scan.tif", data, 0o644)
常见问题
为什么看不到 TIFF 的预览?
大多数浏览器不支持 TIFF,所以预览区域为空。但数据已经正确解码,以“原始文件”格式下载即可得到完整文件。
可以把 Base64 TIFF 转成 PNG 或 JPG 吗?
只有当浏览器能够解码 TIFF 时才可以,例如 Safari。否则请下载原始文件,再用桌面软件转换。
输出的 TIFF 有压缩吗?
没有。转换生成的是未压缩的 RGBA 文件,几乎所有 TIFF 阅读器都能打开,但体积较大,一张 3000 × 2000 像素的图片约为 24 MB。
支持多页 TIFF 吗?
以“原始文件”格式下载时,多页 TIFF 会完整保留;转换时只使用其中一页。