`
ErHuo
  • 浏览: 21983 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

batik svg转png

阅读更多
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();  
	  }  
}




分享到:
评论

相关推荐

    使用batik转换svg文件

    Batik的`Transcoder`接口和相关的实现类,如`JPEGTranscoder`或`PNGTranscoder`,可以将SVG转换为位图格式(如JPEG、PNG)。你需要创建一个`TranscoderInput`对象表示输入的SVG文件,创建一个`TranscoderOutput`...

    batik将svg转成图片,并用itext将图片写在pdf里

    结合 Batik 和 iText,我们可以实现SVG到PDF的流程自动化,首先使用Batik将SVG转换为PNG,然后利用iText将PNG插入到PDF中。这对于需要在PDF文档中保留高质量图形或图标的情况非常有用,因为SVG的矢量特性确保了图像...

    JAVA WMF 转换SVG,PNG

    总之,通过Java技术,特别是wmf2svg和Batik库,我们可以方便地将WMF和EMF图像转换为SVG和PNG格式,以适应不同的应用场景和平台需求。这种转换方法不仅保持了图像质量,还确保了良好的跨平台兼容性。

    svg 转 png 相关 jar文件

    2. **创建Rasterizer**:使用`org.apache.batik.transcoder.TranscoderInput`和`org.apache.batik.transcoder.TranscoderOutput`来定义输入(SVG文档)和输出(PNG图像)。 3. **配置Transcoder**:创建一个`org....

    svgToPngJava:在Java中将svg转换为png

    本项目名为"svgToPngJava",专门解决这个问题,它利用了Apache Batik库来实现SVG到PNG的转换。 Apache Batik是Apache软件基金会的一个开源项目,提供了一套完整的SVG工具集。在这个项目中,主要使用的是"batik-all-...

    将WMF图片格式转换成PNG

    完成WMF到SVG的转换后,我们可以通过 Batik 的`SVGGraphics2D` 和 `PNGTranscoder` 类将SVG文件转换为PNG。`SVGGraphics2D` 用于将SVG图形渲染到内存中的图像,而`PNGTranscoder` 负责将这个图像编码为PNG文件。这个...

    java svg格式转换成图片格式

    以下是一个简单的使用Batik将SVG转换为PNG的步骤: 1. **添加依赖**: 首先,你需要在你的项目中引入Apache Batik的依赖。如果你使用Maven,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.apache....

    Java-SVG转图片所需jar包

    在Java编程环境中,将SVG(Scalable Vector Graphics)转换为常见的图像格式,如JPEG或PNG,是一项常见的需求。为了实现这一功能,开发者通常需要引入一系列的第三方库。标题所提及的"Java-SVG转图片所需jar包"是...

    svg_jar Batik

    总之, Batik作为Java平台上的SVG处理库,为开发者提供了强大的SVG解析、生成和转换能力,是Java环境中处理SVG图像的理想选择。通过深入理解和使用Batik的API,开发者能够轻松地在Java应用中集成SVG图形,创建出更加...

    batik框架 jar包

    3. **SVG到其他格式转换**: Batik框架提供了一种将SVG图像转换为其他格式的能力,如将SVG转换为常见的位图格式(如PNG、JPEG),这对于在不支持SVG的环境中展示图形非常有用。在描述中提到的,就是利用这种特性将...

    doc/docx转html,以及wmf与emf转jpg,png图片

    本文将深入探讨如何使用Java进行“doc/docx转html”以及“wmf与emf转jpg/png图片”的过程,同时也会提及到batik和poi这两个重要的开源库。 首先,让我们来看“doc/docx转html”。在Java中,Apache POI是一个非常...

    将EMF图片格式转换成PNG

    而PNG(Portable Network Graphics)则是一种无损压缩的位图格式,广泛应用于网页设计、软件开发等领域,支持透明度和索引色。 在本项目中,我们关注的是如何将EMF图片转换为PNG格式,这通常涉及到图像处理和编程...

    wmf格式图片转png完整java示例(带全部jar).rar

    wmf格式图片转png完整java项目示例,包含所需jdk(jdk1.7.0_80)及完整jar包。 一,实现功能: 1,wmf文件转png文件; 2,wmf格式的base64压缩数据转png图片(带解压base64数据功能); 二,包含的完整jar: batik-...

    batik源码(包含sample)

    3. **SVG到其他格式的转换**: Batik不仅限于处理SVG,还支持将SVG转换为其他图像格式,如JPEG、PNG等,以及HTML、PDF和SWF(Flash)等。 4. **SVG生成器**: Batik也提供了生成SVG文档的功能,允许程序动态创建SVG...

    batik-1.13.rar

    2. SVG渲染器: Batik的渲染引擎能够将AST转换成像素图像,可以在屏幕上显示或输出到其他图像格式,如JPEG、PNG等。 3. SVG小部件: Batik提供了Swing组件,可以将SVG图像集成到Java应用程序或Applet中,用户可以...

    org.apache.batik包

    6. **Rasterizer**: Batik的Rasterizer工具可以将SVG图像转换为位图格式,如JPEG、PNG或TIFF,这对于在不支持SVG的环境中展示图形非常有用。 7. **Transcoder API**: Batik提供了通用的Transcoder API,用于将SVG...

    基于Batik的java客户端程序

    Batik是一个完整的SVG工具集,包括解析器、DOM实现、渲染引擎、CSS样式处理器、Rasterizer(用于将SVG转换为位图格式如JPEG或PNG)以及一系列的命令行工具。 Batik的主要优势在于它提供了SVG的完整生命周期支持,从...

    Batik 1.7 API CHM格式

    另一种可能性是使用Batik的模块转换成各种格式SVG的通过,如光栅图像(JPEG,PNG或TIFF格式 )或其它矢量格式(EPS或PDF格式 ,后两者由于转码器由Apache FOP提供 )。 Batik工程创建的目的是为开发者提供一系列...

    apache Batik.zip

    9. **batik-rasterizer-1.14.jar**:Rasterizer模块将SVG图形转换为位图格式,如JPEG、PNG等,这对于将SVG内容嵌入到不支持矢量图形的环境中(如网页)非常有用。 10. **batik-ttf2svg-1.14.jar**:这个工具能够将...

    batik-1.5-fop-0.20-5.zip batik-1.5-fop-0.20-5.jar

    FOP是Apache Batik的一部分,它是一个用于处理XSL-FO(XSL-Format Object)的工具,能够将XML格式的数据转换成PDF、PostScript、PNG、JPEG等静态格式。 Apache Batik是一个开源的SVG(Scalable Vector Graphics)...

Global site tag (gtag.js) - Google Analytics