首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >batik-rasterizer.jar -将svg转换为png

batik-rasterizer.jar -将svg转换为png
EN

Stack Overflow用户
提问于 2014-08-02 10:40:33
回答 1查看 1.7K关注 0票数 2

我尝试在我的linux服务器中安装一个导出服务器,使用下面的命令从http://www.highcharts.com/docs/export-module/setting-up-the-server下载图形为图像。

代码语言:javascript
复制
$command = "java -jar batik-rasterizer.jar -m image/png -d temp/1a6b5dd08ec607454b81f91097fb24a6.png temp/1a6b5dd08ec607454b81f91097fb24a6.svg 2>&1 "; 
$output = shell_exec($command);
echo "Command: $command <br>";
echo "Output: $output";

它在我的本地windows机器上完美地创建了一个图像,但是我将它上传到我的linux服务器上,我收到了错误。

代码语言:javascript
复制
 About to transcode 1 SVG file(s) Converting 1a6b5dd08ec607454b81f91097fb24a6.svg to temp/1a6b5dd08ec607454b81f91097fb24a6.png ... (.:21519): Gtk-WARNING **: cannot open display:

为什么会发生这种事?

和我注意到一个图像是用0 kb无效的图像创建的。

注意:,我也尝试过以下方法。

1)包含batik-rasterizer.jar的文件夹,文件的所有者为root,权限设置为777。

2)并尝试用/user/bin/java( java insted pf java命令)来执行。

3)我还尝试使用putty终端以root用户身份执行此命令,在我的服务器上安装了Java。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-02 10:47:24

使用-Djava.awt.headless=true命令行选项执行java:

代码语言:javascript
复制
$command = "java -Djava.awt.headless=true -jar batik-rasterizer.jar -m image/png -d temp/out.png temp/in.svg 2>&1 "; 

更新

如果传递附加命令行选项仍然不能产生预期的结果,请检查Java版本。将您的JRE更新到更新的版本(1.7)也可以解决这个问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25094131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档