我需要从给定的 DXF 文件生成 SVG。我尝试使用 kabeja 包将其存档。这是他们在网页上提供的代码。
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.xml.sax.ContentHandler;
import org.kabeja.dxf.DXFDocument;
import org.kabeja.parser.DXFParseException;
import org.kabeja.parser.Parser;
import org.kabeja.parser.ParserBuilder;
import org.kabeja.svg.SVGGenerator;
import org.kabeja.xml.SAXGenerator;
public class MyClass{
public MyClass(){
...
}
public void parseFile(String sourceFile) {
Parser parser = ParserBuilder.createDefaultParser();
try {
parser.parse(new FileInputStream(sourceFile));
DXFDocument doc = parser.getDocument();
//the SVG will be emitted as SAX-Events
//see org.xml.sax.ContentHandler for more information
ContentHandler myhandler = new ContentHandlerImpl();
//the output - create first a SAXGenerator (SVG here)
SAXGenerator generator = new SVGGenerator();
//setup properties
generator.setProperties(new HashMap());
//start the output
generator.generate(doc,myhandler);
} catch (DXFParseException e) {
e.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
Hear 是 kabeja 开发组在sourceforge 网站上提供的代码。但是在上面的代码中,我注意到他们的新包中缺少一些类。例如
ContentHandler myhandler = new ContentHandlerImpl();
在这一行中,它创建了 contentHandlerImpl 对象,但使用新的 kabeja 包它没有该类。因此,它不会生成 SVG 文件。那么有人可以解释我如何使用这个包来归档我的目标。