Hello,
 
    I've big problem to run batik rasterizer (I only need to convert a svg file to jpg) on a linux redhat 6.3 server (without X environment it's a web server). It works fine on my pc but when I try it on a linux server l've the following message :
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:63)
        at java.lang.Class.forName1(Native Method)
        at java.lang.Class.forName(Class.java:134)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:64)
        at java.awt.Font.initializeFont(Font.java:277)
        at java.awt.Font.<init>(Font.java:361)
        at java.awt.Font.getFont(Font.java:378)
        at sun.java2d.SunGraphicsEnvironment.getBestFontFor(SunGraphicsEnvironment.java:585)
        at java.awt.font.TextLayout.standardInit(TextLayout.java:628)
        at java.awt.font.TextLayout.<init>(TextLayout.java:479)
        at org.apache.batik.gvt.text.BidiAttributedCharacterIterator.<init>(Unknown Source)
        at org.apache.batik.gvt.renderer.StrokingTextPainter.getTextRuns(Unknown Source)
        at org.apache.batik.gvt.renderer.StrokingTextPainter.getOutline(Unknown Source)
        at org.apache.batik.gvt.renderer.StrokingTextPainter.getBounds(Unknown Source)
        at org.apache.batik.gvt.renderer.BasicTextPainter.getPaintedBounds(Unknown Source)
        at org.apache.batik.gvt.TextNode.getPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
        at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
        at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
        at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
        at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.getBounds2D(Unknown Source)
        at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.createRendering(Unknown Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.renderGNR(Unknown Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.updateWorkingBuffers(Unknown Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
        at org.apache.batik.transcoder.image.ImageTranscoder.transcode(Unknown Source)
        at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source)
        at org.apache.batik.apps.rasterizer.SVGConverter.transcode(Unknown Source)
        at org.apache.batik.apps.rasterizer.SVGConverter.execute(Unknown Source)
        at org.apache.batik.apps.rasterizer.Main.execute(Unknown Source)
        at org.apache.batik.apps.rasterizer.Main.main(Unknown Source)
On your mailing list archives, I found this solution :
 
Just use the Pure Java AWT available at http://www.eteks.com/pja/en/ as
replacement for the awt toolkit. The PJA doesn't use any native graphics
resource of the system. Switching the toolkit from X11 or windows default
toolkit to PJA toolkit is simple: change the "awt.toolkit" system property
to "com.eteks.awt.PJAToolkit".

Let's go!  I've downloaded, deployed, modify batik src :
        System.setProperty ("awt.toolkit", "com.eteks.awt.PJAToolkit");
        System.setProperty ("java.awt.graphicsenv","com.eteks.java2d.PJAGraphicsEnvironment");
        System.setProperty ("java.awt.fonts","/usr/share/fonts/default/Type1/:/usr/share/fonts/default/ghostscript/");
 
=> (the object PJAGraphicsEnvironment can be found, I've tried, just upper the method that launch the exception, to instantiate a variable and that's work.
Exception in thread "main" java.lang.Error: Could not find class: com.eteks.java2d.PJAGraphicsEnvironment
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:56)
        at java.awt.Font.initializeFont(Font.java:259)
        at java.awt.Font.<init>(Font.java:343)
        at java.awt.Font.getFont(Font.java:360)
        at sun.java2d.SunGraphicsEnvironment.getBestFontFor(SunGraphicsEnvironment.java:560)
        at java.awt.font.TextLayout.standardInit(TextLayout.java:612)
        at java.awt.font.TextLayout.<init>(TextLayout.java:463)
        at org.apache.batik.gvt.text.BidiAttributedCharacterIterator.<init>(Unknown Source)
        at org.apache.batik.gvt.renderer.StrokingTextPainter.getTextRuns(Unknown Source)
        at org.apache.batik.gvt.renderer.StrokingTextPainter.getOutline(Unknown Source)
        at org.apache.batik.gvt.renderer.StrokingTextPainter.getBounds(Unknown Source)
        at org.apache.batik.gvt.renderer.BasicTextPainter.getPaintedBounds(Unknown Source)
        at org.apache.batik.gvt.TextNode.getPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
        at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
        at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
        at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(Unknown Source)
        at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(Unknown Source)
        at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.getBounds2D(Unknown Source)
        at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.createRendering(Unknown Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.renderGNR(Unknown Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.updateWorkingBuffers(Unknown Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
        at org.apache.batik.transcoder.image.ImageTranscoder.transcode(Unknown Source)
        at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source)
        at org.apache.batik.apps.rasterizer.SVGConverter.transcode(Unknown Source)
        at org.apache.batik.apps.rasterizer.SVGConverter.execute(Unknown Source)
        at org.apache.batik.apps.rasterizer.Main.execute(Unknown Source)
        at org.apache.batik.apps.rasterizer.Main.main(Unknown Source)
Configuration :
 
    Batik 1.1.1 (Batic 1.5 beta2 also tried : same problem)
    RedHat 6.3
    JVM : IBMJava2-13 and jdk-1.3.1_03 (don't work with both)
 
So, could you tell me if I need to deploy Xwindow on the server knowing that there is no screen connected, or if I must try to found an other way to convert my svg file...
 
Thanks,
Cordialement,
 
Michel ALIPRENDI

------------------------------------------------------
Michel ALIPRENDI - ATHAMANTE
Service d�veloppement
Les Athamantes b�t 4
740, av des Apothicaires
34 196 MONTPELLIER CEDEX 5
FRANCE
 
T�l : 04 67 63 00 00
Fax : 04 67 41 40 58
E-mail : [EMAIL PROTECTED]
-----------------------------------------------------

Reply via email to