0

PythonでApache Batik SVG Rasterizer Libraryを使用していますが、svgをpngに変換しようとすると、このエラーが発生します Gtk-WARNING **: cannot open display:

GTK を使用して SVG ファイルを変換しないようにするにはどうすればよいですか

私の英語に感謝し、申し訳ありません!


私のコードはこれです

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

私は GIJ couse を共有ホスティングとして使用しています。

ありがとう!!

4

3 に答える 3

3

コードサンプルはありますか?エラーは、ヘッドレス/ディスプレイレスシステムでプロットを実行していることを示しています。これは、SVG変換が原因ではなく、プロット/ウィンドウなどを表示するための呼び出しが原因で発生する可能性があります。モニターを接続するか、環境でDISPLAY変数を設定すると、エラーは解消されます。

また、発生するエラーは単なる警告です。バティックラスタライザーは、提供されていない他の依存関係jarに依存する場合があります。クラスパス設定またはラッパースクリプトを使用する必要があるかもしれません。batikフォルダー内からbatik-rasterizerを実行してみてください。

cd batik; gij --jar batik-rasterizer.jar ../file.svg
于 2010-10-13T07:49:25.500 に答える
0

この情報を見つけました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/

于 2011-02-04T13:42:33.047 に答える
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/の詳細

于 2010-11-13T20:18:32.993 に答える