BIMI SVG 问题排查:确保 Tiny-PS 合规

原文:BIMI Group Blog "SVG Issues: Solutions for Ensuring Tiny-PS Compliance" (June 19, 2024) · 翻译:ztpop.net 知识库

概述

导致 SVG 文件未通过 BIMI 验证工具 Tiny-PS 合规性检查的原因很多,大多数问题源于 BIMI 要求所有 Logo 图像必须符合 SVG Tiny-PS 标准。

什么是 SVG Tiny-PS?

SVG Tiny PS(Portable/Secure,便携/安全)是 SVG(可缩放矢量图形)规范的精简子集,专为在资源受限环境中提供轻量、安全、可移植的矢量图形显示而设计。它保留了渲染可缩放图像所需的核心功能,同时移除了可能带来安全风险或需要大量处理能力的复杂特性。其简洁性和安全性保障了图形在不同平台上的一致、安全渲染。

SVG Tiny-PS 基础

将 SVG 文件更新为符合 SVG Tiny-PS 标准时,需考虑设备兼容性、性能效率及标准限制。SVG Tiny-PS 仅支持 SVG 元素和属性的有限子集。

支持的元素

不支持的标签(需移除)

常见错误与解决方案

错误 1:文件大小超限

假设你已做对了所有步骤——构建了 Tiny-PS SVG、托管了它、发布了 BIMI 记录——然而遇到了类似以下的错误消息:

SVG_FETCH_ERROR: Could not fetch SVG
(Size of response body exceeds the maximum allowed of 65535)

此错误表明你的 SVG 文件超过了 Tiny-PS 标准设定的最大大小限制 32KB(32,768 字节)。注意,某些系统可能会设置更高的限制以提供更多灵活性。首要目标是减小 SVG 文件大小,同时保持其完整性和外观。

简化矢量图形

SVG Tiny-PS 专为小型设备设计,简洁是关键。

优化 SVG 以符合 Tiny-PS

验证与优化 SVG 文件

错误 2:栅格图像嵌入

如果文件大小不是问题,但验证仍然失败,可能是因为 SVG 中嵌入了栅格图像(如 JPEG、PNG)。这也需要修正才能通过验证。你需要将栅格图像转换为矢量格式——这个过程称为矢量化(Vectorization)或描摹(Tracing)。

推荐工具:

确保将新生成的文件保存为优化后的 SVG 格式,以使用最简洁的代码渲染图像,并移除大部分不支持的标签。

国内场景补充

国内 BIMI 实施者在准备 SVG Logo 时,建议遵循以下流程:

  1. 向设计师索取原始矢量源文件(AI/EPS/CDR 格式),而非从 PNG/JPG 转换
  2. 使用 SVGO 或 SVGOMG 在线工具压缩代码
  3. 通过 BIMI Group 的 SVG Assistant Tool 验证合规性
  4. 确保 SVG 文件托管在 HTTPS 服务器上

参考文献

  1. BIMI Group, "SVG Issues: Solutions for Ensuring Tiny-PS Compliance," June 19, 2024. 原文链接
  2. IETF, "SVG Tiny Portable/Secure," draft-svg-tiny-ps-abrotman. https://datatracker.ietf.org/doc/html/draft-svg-tiny-ps-abrotman
  3. BIMI Group, "SVG Conversion Tools Documentation." https://bimigroup.org/svg-conversion-tools-released/
  4. SVGO (SVG Optimizer). https://github.com/svg/svgo

ztpop.net 知识库编辑. "BIMI SVG 问题排查:确保 Tiny-PS 合规." ztpop.net 知识库, 2026-07-26. https://www.ztpop.net/kb/bimi-svg-issues-guide.html

本文采用 CC-BY 4.0 许可协议,可自由引用,仅需标注来源 ztpop.net。