0

我正在尝试使用 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)似乎都可以处理这些文件。

谢谢

4

1 回答 1

0

我不确定这种变化的真正含义是什么。但我不得不承认,在文件开头有 xml doc 声明听起来合乎逻辑。毕竟这是一个文件下载。

在您的情况下,应该添加它;

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

我为此在GitHub 上创建了一个问题

于 2013-06-10T16:49:13.853 回答