import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.apache.batik.apps.rasterizer.DestinationType;
import org.apache.batik.apps.rasterizer.SVGConverter;
import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
import org.apache.batik.util.XMLResourceDescriptor;
import org.w3c.dom.Document;
public class Test {
public Document createDocument(InputStream in) {
Document doc = null ;
try {
// Create a new svg document.
String parser = XMLResourceDescriptor.getXMLParserClassName();
SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
doc = f.createSVGDocument(null, in);
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
return doc;
}
public static void main(String[] args) throws Exception {
String svgPath = "D:\\input.svg";
String pngPath = "D:\\test.png";
Test rasterizer = new Test();
InputStream in = new FileInputStream(new File(svgPath));
Document svgXmlDoc = rasterizer.createDocument(in);
// Save this SVG into a file (required by SVG -> PNG transformation process)
File svgFile = File.createTempFile("graphic-", ".svg");
Transformer transformer = TransformerFactory.newInstance().newTransformer();
DOMSource source = new DOMSource(svgXmlDoc);
FileOutputStream fos = new FileOutputStream(svgFile);
try {
transformer.transform(source, new StreamResult(fos));
} finally {
fos.close();
}
// Convert the SVG into PNG
File outputFile =new File(pngPath);
SVGConverter converter = new SVGConverter();
converter.setDestinationType(DestinationType.PNG);
converter.setSources(new String[]{svgFile.toString()});
converter.setDst(outputFile);
converter.execute();
}
}
分享到:
相关推荐
WMF转PNG EMF转PNG 工具类,使用wmf2svg 来实现wmf转svg 用batik jar实现svg转png 这种转换 不存在图片丢失等问题!
svgToPng svg to png in java 额外引入的包有: batik-all-1.7.jar xml-apis-ext-1.3.04.jar dom4j-1.6.1.jar
使用batik工具库将wmf格式的图片先转换成svg再将svg转换为png,项目下载导入即可运行
wmf格式图片转png完整java项目示例,包含所需jdk(jdk1.7.0_80)及完整jar包。 一,实现功能: 1,wmf文件转png文件; 2,wmf格式的base64压缩数据转png图片(带解压base64数据功能); 二,包含的完整jar: batik-...
另一种可能性是使用Batik的模块转换成各种格式SVG的通过,如光栅图像(JPEG,PNG或TIFF格式 )或其它矢量格式(EPS或PDF格式 ,后两者由于转码器由Apache FOP提供 )。 Batik工程创建的目的是为开发者提供一系列...
org.apache.batik包 batik包,用于生成svg格式的文件,实现svg,swf转png ,提供word to html
batik可以实现JAVA画SVG图,也可以将后台生成图表转换成png格式图片。配合iText等打印技术,可以实现word打印各类分析图表的功能。
使用batik工具库将wmf格式的图片先转换成svg再将svg转换为png,项目下载导入即可运行
Kabeja是一个用于解析DXF并转换为SVG(dxf2svg)的java库。该库支持SAX-api,可以集成到其他应用程序(Cocoon,Batik)中。包括将svg转换为jpeg,tiff,png和pdf的工具。
Delineate 是一种使用 AutoTrace 或 potrace 将光栅图像转换为 SVG(可缩放矢量图形)的工具。 它使用 JIU 加载图像并使用 Batik 显示结果。 输入格式为 JPEG、PNG、GIF、BMP、TIFF、PNM、PBM、PGM、PPM、IFF、PCD、...
最终目标是为最终用户提供一个简单易用的程序,使创建任何类型的网络地图(公共交通、能源、水……)并以多种格式(SVG、PNG、网页、 ……)。 这个软件是用Java编写的。 该项目仍在进行中,应用程序的核心(大部分...
Yawda是基于Struts的MVC Web开发应用程序框架。 有了它,您可以轻松地将HTML,SVG,PNG,JPEG,RTF和PDF与来自多个来源的数据一起输出。 它使用卡宴,犀牛,itext,Batik,Struts,Velocity,雅加达公用。
基于Apache Batik和Mozilla Rhino,Imagava允许您从SVG(使用Inkscape创建)和JavaScript文件轻松创建动态JPG和PNG图像。 适用于i18n,个性化图像等。