我尝试将svg转换成PNG. svg文档来自作为输入流的服务器.

首先,我将svg流转换成字节数组:

byte[] streamBytes = IOUtils.toByteArray(svgStream);

然后使用以下代码将字节转换为OutputStream(PNG).

private ByteArrayOutputStream svgToPng(byte[] streamBytes)

throws TranscoderException, IOException {

PNGTranscoder t = new PNGTranscoder();

TranscoderInput input = new TranscoderInput(new ByteArrayInputStream(streamBytes));

ByteArrayOutputStream ostream = new ByteArrayOutputStream();

TranscoderOutput output = new TranscoderOutput(ostream);

t.transcode(input, output);

ostream.flush();

// ostream.close();

return ostream;

}

但是我通过“t.transcode(input,output)”获得空指针异常;

org.apache.batik.transcoder.TranscoderException: null

Enclosed Exception:

Premature end of file.

graphdata : null

at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:136)

at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156)

注意:如果我将svgstream保存在磁盘上,并使用以下代码转换器输入与uri构造函数,那么它将工作.但在我的情况下,我不想保存在磁盘上.

TranscoderInput input = new TranscoderInput(new File("c:/a.svg").toURI().toString());

Java将svg转化成png_java – 如何将SVG转换成PNG相关推荐

  1. 编写程序,测试字符串“你好,欢迎来到Java世界”的长度,将字符串的长度转换成字符串进行输出,并对其中的“Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。

    编写程序,测试字符串"你好,欢迎来到Java世界"的长度,将字符串的长度转换成字符串进行输出,并对其中的"Java"四个字母进行截取,输出截取字母以及它在字符串 ...

  2. java数字转中文_Java程序:输入数字转换成中文输出

    功能看似简单,但真正实现起来也不是易事 现在贴出代码,欢迎各位幕友提出建议!! package test01; import java.util.Scanner; public class Test ...

  3. java—IO流——读取键盘输入的字母并转换成大写字母输出在控制台上

    读取键盘输入的字母,并转换成大写输出在控制台上 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; imp ...

  4. java Clob转CLOB_Java获取Oracle中CLOB字段转换成String

    Java获取Oracle中CLOB字段转换成String : try {PreparedStatement stmt = session.connection().prepareStatement(s ...

  5. JAVA常用API或编程工具001---ITEXT把html转换成pdf的jar包,使用Java将HTML转换为PDF

    iText "XML Worker"允许开发人员以一种程序员友好的方式将XML文件转换成PDF文件.iText还可以将包含CSS样式的HTML转换为PDF格式的文档. 目标: 实现 ...

  6. java中如何判断一个String 是否可以强制转换成Integer

    简述 项目中有时候需要判断一个String 的字符串能不能转换成 int,我在搜索引擎上搜索到时候发现有人问过同样的问题,但是回答者会有String 怎么能转换成Integer 的疑问,这里标注一下, ...

  7. java输出格林威治时间_Java之格林威治时间格式转换成北京时间格式

    Java之格林威治时间格式转换成北京时间格式 /** * Copyright 2020. yaodouwang.com Studio All Right Reserved * * Create on ...

  8. java后端请求第三方接口并处理HttpEntity类转换成实体类对象

      最近在写使用java后端去请求第三方接口的代码,给大家分享关于HttpEntity类的处理方式,而处理请求是需要根据第三方的要求来处理的,所以这里着重展示HttpEntity的处理.   在开始代 ...

  9. 使用Java Stream API将List按自定义分组规则转换成Map的一个例子

    本文完整测试代码见文末. 测试数据是List里的4个员工对象实例: 根据员工所在的城市进行分组: 结果分成了三组: 第一组的员工在上海: 第二组的员工在成都: 统计每组员工个数: 把员工进行分组,得分 ...

最新文章

  1. 搜索关键词分析——以个人博客网站为例
  2. Visual Studio跨平台开发Xamarin
  3. [Nginx]用Nginx实现与应用结合的訪问控制 - 防盗链
  4. ubuntu的网络配置
  5. nvidia.dali:深度学习加速神器!
  6. 一汽奔腾b7o价位_全新第三代奔腾B70有何资格对合资品牌降维打击?
  7. SQL迁移到ORACLE实例
  8. 【Flink】Flink Failed to push metrics to PushGateway Connect refuse
  9. 深度学习的半精度浮点数的运用
  10. 数字ab写成c语言表达式,《c语言程序设计》复习题.pdf
  11. GitHub出现大量重复代码:JavaScript最严重
  12. Advanced DataStream API Low-latency Event Time Join
  13. IP地址格式 点分十进制
  14. 解决Windows不在第一分区时变色龙引导问题
  15. 关于使用js的setAttribute和getAttribute取dom属性在ie ff safri下的问题
  16. Python简单爬虫(以爬取豆瓣高分图书为例)
  17. [推荐]资金计划与预算的联系与区别
  18. 使用百度云加速防apache的ab测试ddos攻击
  19. 44.驱动--设备树内的中断
  20. 立创eda学习笔记九:图层

热门文章

  1. 开通阿里云code,新建项目,和本地编辑器中的项目关联
  2. 苹果地图设置途经点_如何设置苹果地图以避免通行费和高速公路
  3. c语言程序日期时间戳,时间戳转日期的算法(C语言实现)
  4. Cell--瘤内微生物将开辟新疗法
  5. python安装flask框架_Python Flask框架的安装
  6. 使用Auth0对Firebase和Angular进行身份验证:第1部分
  7. 关于Lan和Wan网口分配配置
  8. 2023华为od统一考试B卷【评论转换输出】C++
  9. [Unity3D]卡牌游戏中有关卡牌类的制作
  10. 计算机能力应用研修日记,信息技术研修日志3篇