kabeja是一个用于解析CAD文件的java库,处理Autodesk的DXF格式转换。转换DXF为不同的输出格式(JPEG,PNG,SVG,TIFF,PDF,XML)。
网上对kabeja的资料不多,使用方法也很少。虽然在2008年后这个java库就没有更新了,但是其功能还是十分强大的,我使用后感觉很好用,在这分享一下。
Kabeja官网http://kabeja.sourceforge.net/index.html
使用非常简单
1、导入Kabeja 0.4库
可以在官网下载kabeja,也可以通过https://download.csdn.net/download/imaniy/10930243
2、实例代码操作
public static void main(String[] args) throws FileNotFoundException, ParseException, SAXException {
//InputStream in = new FileInputStream("C:/Users/Admin/Desktop/svg/draft.dxf");
// Parser dxfParser = DXFParserBuilder.createDefaultParser();
Parser dxfParser = ParserBuilder.createDefaultParser();
dxfParser.parse(new FileInputStream("C:/Users/Admin/Desktop/svg/draft.dxf"), "UTF-8");//需要转换的dxf
DXFDocument doc = dxfParser.getDocument();
SAXGenerator generator = new SVGGenerator();
// generate into outputstream
// 输出SVG
//SAXSerializer out = new SAXPDFSerializer();
// 输出pdf
// org.kabeja.xml.SAXSerialzer out =
// org.kabeja.batik.tools.SAXPDFSerializer();
// 输出tiff
// org.kabeja.xml.SAXSerialzer out =
// org.kabeja.batik.tools.SAXTIFFSerializer();
// 输出png
SAXSerializer out =new SAXPNGSerializer();
// 输出jpg
// org.kabeja.xml.SAXSerialzer out =
// org.kabeja.batik.tools.SAXJEPGSerializer();
OutputStream fileo = new FileOutputStream("C:/Users/Admin/Desktop/svg/method-draw-image.png");//转换所得的文件
// out.setOutputStream(response.getOutputStream()) //write direct to
// ServletResponse
out.setOutput(fileo);
// generate
generator.generate(doc, out, new HashMap());
}