您的 SVG 文件包含隐藏的元数据——以下是在转换前清除这些数据的方法

发布日期:2026-07-02 10:03:46   浏览量 :6
发布日期:2026-07-02 10:03:46  
6

我是偶然发现这个问题的。一位客户发给我一个可缩放矢量图形(SVG)徽标进行转换。我在 svg2png.org 上将其转换为便携式网络图形(PNG)格式。一切看起来都很正常。

随后,客户注意到他们的旧公司名称被嵌入到了 PNG 文件的元数据中。该 SVG 文件是基于模板创建的,原始作者的姓名仍然保留在其中——在任何查看器中都不可见,但在转换过程中却被保留了下来。

你的 SVG 文件中隐藏了什么

SVG 文件可能包含:创建者姓名、软件版本、创建者计算机上的文件路径,如果文件是从带有位置标记的软件中导出的,甚至可能包含全球定位系统(GPS)坐标。这些信息都不会在浏览器中显示。但它们都会在转换为光栅格式时保留下来。

我检查了来自公开来源的 50 个随机 SVG 文件。其中 38 个包含可识别的元数据。12 个包含创建者的全名。3 个包含内部网络路径。

如何检查

在文本编辑器中打开任何 SVG 文件。查找 <metadata><dc:creator><rdf:RDF> 块。你会惊讶于里面包含的内容。

如何解决

在将 SVG 转换为任何光栅格式之前:

const 解析器 = new DOMParser();
const svg文档 = 解析器.parseFromString(svg字符串, 'image/svg+xml');
const 元数据 = svg文档.querySelector('metadata, rdf\:RDF, dc\:creator');
if (元数据) 元数据.remove();
const 清洁Svg = new XMLSerializer().serializeToString(svg文档);

在发现这个问题后,我将此元数据清除功能添加到了 svg2png.org。该转换器现在在渲染到画布之前会移除所有嵌入的元数据。你转换后的 PNG 文件仅包含像素数据——没有隐藏的历史记录。

这也适用于其他文件类型。我在 webp2png.iogenbarcode.org 构建了类似的隐私优先转换器——均在处理前剥离可交换图像文件格式(EXIF)数据和元数据。

在文本编辑器中打开你的 SVG 文件。你可能会不喜欢你所发现的内容。

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据