使用没有GTK的batik-rasterizer

时间:2010-10-13 05:03:46

标签: python django svg rasterizing

我在python中使用Apache Batik SVG Rasterizer Library但是当我尝试将svg转换为png时我得到此错误Gtk-WARNING **:无法打开显示:

如何不使用GTK转换SVG文件

谢谢,对不起我的英文!


我的代码就是这个

gij --jar batik/batik-rasterizer.jar file.svg

我使用GIJ couse是一个共享主机。

谢谢!

3 个答案:

答案 0 :(得分:2)

您有代码示例吗?该错误表示您正在无头/无显示系统上执行绘图。这可能不是由于SVG转换而是由于调用显示绘图/窗口或类似的东西。如果您在环境中附加监视器或设置DISPLAY变量,则错误将消失。

此外,您获得的错误只是一个警告。蜡染光栅化器可能依赖于未提供的其他依赖性jar。可能需要使用类路径设置或包装脚本。尝试从蜡染文件夹中运行batik-rasterizer,即

cd batik; gij --jar batik-rasterizer.jar ../file.svg

答案 1 :(得分:0)

试试这个:

$ export DISPLAY=java; gij -Djava.awt.headless=true --jar batik/batik-rasterizer.jar file.svg

更多关于http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/

答案 2 :(得分:0)

我找到了此信息http://xmlgraphics.apache.org/fop/1.0/graphics.html#batik

以下是一些解决方法:

  • 使用 -Djava.awt.headless = true 命令行选项启动Java。
  • 安装X服务器,该服务器提供内存中的帧缓冲,而无需实际使用屏幕设备或任何显示硬件。一个例子是 Xvfb
  • 安装一个模拟AWT的工具包,无需底层的X服务器。一个例子是PJA工具包,它是免费的,附带详细的安装说明。

以下是“如何在Linux服务器中安装Xvfb(X11服务器)” http://corpocrat.com/2008/08/19/how-to-install-xvfb-x11-server-in-linux-server/

相关问题