我正在尝试使用 SDL 产品 XPP 打印从 HighCharts 导出的 SVG 图表,它是一种自动页面合成引擎。由于 SVG 文件中的错误,XPP 拒绝渲染 SVG 图形。我引用他们的支持团队的话:
发送给我们的 SVG 图像的问题是它不符合我们支持 SVG 图像的要求,
在管理 XPP 手册的第 16-26 页上,我们声明:
SVG 文档结构
SVG 文档必须具有 XML 和文档类型声明。文档或文档片段必须具有根元素。根元素必须定义 svg 命名空间,并且可以包含文本、形状和路径。
我们在提供的 SVG 图像中发现,没有所需的 XML 文档类型声明。
一旦我编辑了 SVG 图像,添加了这样的文档类型声明并保存它,当我在 XPP 中打开 SVG 图像时,它就转换并显示了。
是否可以让 Highcharts-Export 服务器在导出的 SVG 文件的顶部添加所需的 XML 和 DTD 声明?我当然可以在后处理步骤中添加这些,但这确实增加了我们的发布管道的复杂性。
在一个可能相关的说明中,我发现最新版本的 ImageMagick 6.8.5 也不能正确呈现导出的 HighChart SVG。不过,Inkscape 0.48+ 和各种浏览器(Chrome、Firefox、IE)似乎都可以处理这些文件。
谢谢