Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer 在.NET中将VML转换为SVG时出现的问题_Internet Explorer_Svg_Raphael_Vml_Inkscape - Fatal编程技术网

Internet explorer 在.NET中将VML转换为SVG时出现的问题

Internet explorer 在.NET中将VML转换为SVG时出现的问题,internet-explorer,svg,raphael,vml,inkscape,Internet Explorer,Svg,Raphael,Vml,Inkscape,我有一个非常类似的问题;我使用RaphaelJS生成图表,但更具体地说,在我的例子中,我需要打印结果。我使用(非常好)将Raphael的SVG输出转换为PNG文件,用户可以下载并打印该文件 问题是,它可以在Firefox等浏览器中使用,但不能在Internet Explorer中使用。因为IE使用VML而不是SVG,所以当用户来自IE时,Inkscape不会转换它 我已经看过了IECapt,它可能很好地完成了这项工作,但在我的场景中,文字屏幕截图是不够的,因为生成的图表通常跨越一个屏幕宽度,我需

我有一个非常类似的问题;我使用RaphaelJS生成图表,但更具体地说,在我的例子中,我需要打印结果。我使用(非常好)将Raphael的SVG输出转换为PNG文件,用户可以下载并打印该文件

问题是,它可以在Firefox等浏览器中使用,但不能在Internet Explorer中使用。因为IE使用VML而不是SVG,所以当用户来自IE时,Inkscape不会转换它

我已经看过了IECapt,它可能很好地完成了这项工作,但在我的场景中,文字屏幕截图是不够的,因为生成的图表通常跨越一个屏幕宽度,我需要将其全部放在一个文件中。此外,用户可以通过单击节点等修改图表,而无需更改URL,因此在我的示例中实际使用IECapt需要URL参数来复制图表的状态

我只需要让我的头围绕这个转换从VML格式,我可以擦我的脚这个项目

链接

  • 直接从C#应用程序

您可以通过以下方式将VML转换为SVG:,取自此问题:,然后通过Inkscape运行它以获得PNG版本


编辑:vectorconverter工具是基于PHP的,但它使用XSLT来完成繁重的工作——VML和SVG只是隐藏的XML——因此,如果您不能直接访问PHP库,您可能会设法以您选择的语言重用XSLT。

谢谢;我应该提到,我已经看过这篇文章并看过Vector Converter,但似乎只有支持PHP的平台才能使用VC?我正在一个公司内部网上工作,它将无法支持PHP。编辑:我刚看过你的编辑。如果我能在上面找到什么,我会去看看。我不是.NET的人,所以我恐怕帮不了你。似乎读入XML以确定您是拥有SVG还是VML并不难,然后在inkscape中处理之前运行XSLT(如果是VML)。如果您能够在这个部署环境中编写自己的JS,那么您实际上可以在客户端(即具有内置XSLT引擎)执行VML-->SVG转换,不过如果可能的话,我建议使用后端处理。感谢您的帮助,我现在正在做一些有关XSLT的研究。你认为这样做对吗(滚动至“在浏览器中将XML转换为XHTML”)。我有权访问VectorConverter使用的xslt文件,所以它应该只是使用正确的文件的一个例子?应该可以。在将VML路由到那里之前,您仍然需要一些逻辑来嗅探VML,或者我想您只需要使用条件注释。你也可以看看或者。作为警告,这样的客户端代码很容易在IE6-7老化的JS引擎中成为瓶颈(8还不错)。如果您能够处理这个服务器端,您可能会避免一些麻烦。