Hello,

I've recently been trying to use Batik to do some batch processing on some SVG files. Part of what I'm trying to do involves finding the positions of various text and path elements. However, when I try to get the bounding box of elements, they always return null. Looking online, I think I might need some sort of context, but I was unable to figure out how to generate it properly. Thank you in advance for your help.

I'm using Java 5 on Japanese Windows XP with the latest standard Batik from the download page.

Here's some example code that has the problem I'm encountering. It simply tries to load an SVG file and find out the bounding boxes of all the text elements in it. When I try it with various SVG files, it only outputs nulls.

import static org.apache.batik.dom.svg.SVGDOMImplementation.SVG_NAMESPACE_URI;

import java.io.File;
import java.io.IOException;

import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
import org.apache.batik.util.XMLResourceDescriptor;
import org.w3c.dom.NodeList;
import org.w3c.dom.svg.SVGDocument;
import org.w3c.dom.svg.SVGTextElement;

public class BatikTestCase {

        public static void main(String[] args) {
                SVGDocument doc;
                
                try {
                    String parser = 
XMLResourceDescriptor.getXMLParserClassName();
                    SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
                
                    doc = f.createSVGDocument(new 
File(args[0]).toURI().toString());
                
                    doc.normalize();

                        NodeList nodes = 
doc.getElementsByTagNameNS(SVG_NAMESPACE_URI,
                                        "text");
                        
                        for (int lcv = 0; lcv < nodes.getLength(); lcv++) {
                                SVGTextElement ste = 
(SVGTextElement)nodes.item(lcv);
                                
                                System.out.println(ste.getBBox());
                        }
                } catch (IOException ex) {
                     System.exit(1);
                }
        }

}

Thanks,
Xavid Pretzer

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to