【问题标题】:use batik-rasterizer without GTK [closed]在没有 GTK 的情况下使用 batik-rasterizer [关闭]
【发布时间】:2011-04-24 16:04:14
【问题描述】:

我在 python 中使用Apache Batik SVG Rasterizer Library,但是当我尝试将 svg 转换为 png 时出现此错误 Gtk-WARNING **: cannot open display:

如何不使用 GTK 转换 SVG 文件

感谢和抱歉我的英语!


我的代码是这样的

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

我使用 GIJ 因为是共享主机。

谢谢!!

【问题讨论】:

    标签: python django svg rasterizing


    【解决方案1】:

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

    您得到的错误也只是一个警告。 batik rasterizer 可能依赖于其他未提供的依赖项 jar。可能您需要使用类路径设置或包装脚本。尝试从 batik 文件夹中运行 batik-rasterizer,即

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

    【讨论】:

      【解决方案2】:

      试试这个:

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

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

      【讨论】:

        【解决方案3】:

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

        以下是一些解决方法:

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

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

        【讨论】:

          猜你喜欢
          • 2019-06-20
          • 1970-01-01
          • 2015-06-28
          • 2014-04-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-11
          • 2023-03-10
          相关资源
          最近更新 更多