目前,我正在使用 mPDF 在 PHP 中创建 PDF/A 文件。SVG 默认具有透明背景。但这会破坏与 PDF/A 的兼容性。当使用 veraPDF 验证此类 PDF 文件时,我收到一条错误消息,提示“具有值为 Transparency 的 S 键的 Group 对象不应包含在表单 XObject 中。具有值为 Transparency 的 S 键的 Group 对象不应包含在页面字典中”
我尝试向 SVG 添加一个矩形(如此处所述),但没有成功。有没有解决方案可以删除此透明度,但仍能使用 SVG?
编辑:我使用简单的 FontAwesome 图标作为 SVG,例如地球仪。查看 SVG 代码,我找不到任何不透明度或透明度样式。

mPDF目前预计 SVG 将是透明的,因此在其代码中包含以下内容。对于 PDF/A-1B(特别是),最后一行是不可接受的。
/S/Transparency如果我们将其清空,这样就通过了,Vera 就会接受该文件,## 0 obj <</Type/Group >> endobj这将是一个简单的临时解决方法,以保持完全相同的字节数,以确保不会有其他失败。“简单”的解决方案(如果只需要 1B 兼容性)是构建一个 mPDF 变体,其中不包含来自 SVG 处理程序的那行以及任何其他一些类似的设置。
参见此处https://github.com/search?q=repo%3Ampdf%2Fmpdf%20%2FTransparency&type=code