2010-10-13 18 views
1

J'utilise le Apache Batik SVG Rasterizer Library en python, mais lorsque je tente de convertir un svg en .png i obtenir cette erreur Gtk-AVERTISSEMENT **: ne peut pas ouvrir l'affichage:utilisation batik-rastérisation sans GTK

Comment puis-je faire pour ne pas utiliser GTK pour convertir le fichier SVG

Merci et désolé pour mon anglais!


mon code est ce

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

J'utilise GIJ couse est un hébergement mutualisé.

Merci!

Répondre

2

Avez-vous un échantillon de code? L'erreur indique que vous effectuez un tracé sur un système sans écran/sans affichage. Cela peut se produire non pas en raison d'une conversion SVG, mais en raison d'un appel à afficher une intrigue/fenêtre ou quelque chose de similaire. L'erreur disparaîtra si vous attachez un moniteur ou définissez la variable DISPLAY dans l'environnement.

L'erreur que vous obtenez est seulement un avertissement. Le rasterizer batik peut dépendre d'autres jar de dépendance qui ne sont pas fournis. Peut-être devrez-vous utiliser les paramètres de classpath ou un script wrapper. Essayez de lancer batik-rastérisation à partir du dossier batik-à-dire

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

J'ai trouvé cette info http://xmlgraphics.apache.org/fop/1.0/graphics.html#batik

Voici quelques solutions de contournement:

  • Démarrez Java avec l'option de ligne de commande -Djava.awt.headless = true.
  • Installez un serveur X qui fournit un framebuffer en mémoire sans utiliser de périphérique d'écran ou de matériel d'affichage. Un exemple est Xvfb.
  • Installez une boîte à outils qui émule AWT sans avoir besoin d'un serveur X sous-jacent. Un exemple est le toolkit PJA, qui est gratuit et livré avec des instructions d'installation détaillées.

Voici "Comment installer Xvfb (serveur X11) dans Linux Server"http://corpocrat.com/2008/08/19/how-to-install-xvfb-x11-server-in-linux-server/