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