HighCharts 制作图表导出图片(SVG转JPEG格式)遇到的两个问题

原创
2014/03/05 16:12
阅读数 8K

问题一:

/usr/bin/java -jar /data/batik/batik-rasterizer.jar -m image/jpeg -d /data/web/uploadfiles/temp/c5518355c41c05ebd31e0c011d139109.jpg /data/web/uploadfiles/temp/c5518355c41c05ebd31e0c011d139109.svg
About to transcode 1 SVG file(s)

Converting c5518355c41c05ebd31e0c011d139109.svg to /data/web/uploadfiles/temp/c5518355c41c05ebd31e0c011d139109.jpg ... ERROR: The JPEG quality has not been specified. Use the default one: no compression
org.apache.batik.transcoder.TranscoderException: null
Enclosed Exception:
access denied (java.io.FilePermission PYCC.pf read)
        at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:132)
        at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142)
        at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156)
        at org.apache.batik.apps.rasterizer.SVGConverter.transcode(SVGConverter.java:1001)
        at org.apache.batik.apps.rasterizer.SVGConverter.execute(SVGConverter.java:717)
        at org.apache.batik.apps.rasterizer.Main.execute(Main.java:938)
        at org.apache.batik.apps.rasterizer.Main.main(Main.java:992)
... error (SVGConverter.error.while.rasterizing.file)

提示“ERROR: The JPEG quality has not been specified. Use the default one: no compression”,添加参数“-q 0.99”解决:

/usr/bin/java -jar /data/batik/batik-rasterizer.jar -q 0.99 -m image/jpeg -d /data/web/uploadfiles/temp/c5518355c41c05ebd31e0c011d139109.jpg /data/web/uploadfiles/temp/c5518355c41c05ebd31e0c011d139109.svg

问题二:

/usr/bin/java -jar /data/batik/batik-rasterizer.jar -q 0.88 -m image/jpeg -d /data/web/uploadfiles/temp/c5518355c41c05ebd31e0c011d139109.jpg /data/web/uploadfiles/temp/c5518355c41c05ebd31e0c011d139109.svg
About to transcode 1 SVG file(s)

Converting c5518355c41c05ebd31e0c011d139109.svg to /data/web/uploadfiles/temp/c5518355c41c05ebd31e0c011d139109.jpg ... org.apache.batik.transcoder.TranscoderException: null
Enclosed Exception:
access denied (java.io.FilePermission PYCC.pf read)
        at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:132)
        at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142)
        at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156)
        at org.apache.batik.apps.rasterizer.SVGConverter.transcode(SVGConverter.java:1001)
        at org.apache.batik.apps.rasterizer.SVGConverter.execute(SVGConverter.java:717)
        at org.apache.batik.apps.rasterizer.Main.execute(Main.java:938)
        at org.apache.batik.apps.rasterizer.Main.main(Main.java:992)
... error (SVGConverter.error.while.rasterizing.file)

提示“access denied (java.io.FilePermission PYCC.pf read)”,修改文件“/usr/lib/jvm/java/jre/lib/security/java.policy”添加以下语句解决:

grant codeBase "file:/data/batik/-" {
        permission java.security.AllPermission;
};


展开阅读全文
打赏
0
4 收藏
分享
加载中

引用来自“张恒强”的评论

不是用命令。用Java代码写的话,这个-q 0.99 该怎么写啊?
//设置质量 0~1 之间 Transcoder t = new JPEGTranscoder(); t.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new Float(1));
2014/10/19 23:12
回复
举报

引用来自“lengspring”的评论

引用来自“张恒强”的评论

不是用命令。用Java代码写的话,这个-q 0.99 该怎么写啊?

我是搞PHP的,源码包里有个文件batik-src-1.7.zip\batik-1.7\sources\org\apache\batik\transcoder\image\JPEGTranscoder.java文件里面有个参数quality = 0.99f; 希望对你有帮助
0.0 谢谢
2014/05/01 09:05
回复
举报
lengspring博主

引用来自“张恒强”的评论

不是用命令。用Java代码写的话,这个-q 0.99 该怎么写啊?

我是搞PHP的,源码包里有个文件batik-src-1.7.zip\batik-1.7\sources\org\apache\batik\transcoder\image\JPEGTranscoder.java文件里面有个参数quality = 0.99f; 希望对你有帮助
2014/03/06 12:03
回复
举报
不是用命令。用Java代码写的话,这个-q 0.99 该怎么写啊?
2014/03/06 11:53
回复
举报
更多评论
打赏
4 评论
4 收藏
0
分享
返回顶部
顶部