java EMF转为PNG或者PDF

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java EMF转为PNG或者PDF相关的知识,希望对你有一定的参考价值。

网络上一些经常发出来的就不要再发了,事实证明都不能满足需求
Freehep,转换后内容缺失或者背景颜色有问题,完全不能用
EasyImage、ImageJ、JJIL、simpleimage、marvin、spire、Jimi 、Exif 、docx4j、OpenOffice、jmimemagic 、Hutool等等不支持EMF处理
libreoffice虽然可以转为PDF,但是尺寸不对,不满足需求
aspose商用,要钱,Pass
唯一的GraphicsMagick,可以转换为图片,但是Linux系统不行
So。。。。。。。。。。。。。。。。。。。
还有其他切实可行的方案吗

用虚拟打印机,软件有: 1.PDFFactory Pro虚拟打印机,安装后,在任何文档中,选择打印时,选择打印机为pdfFactoryPro,就能生成PDF文件,并可以进行安全设置。 2.SmartPrinter(Doc Pdf xls to pdf/tiff/bmp/jpg/png)一款大家非常熟悉的经典产品,专为转换文件而研发的高品质打印驱动,以运行稳定、转换速度快和图像质量高而著称,通过虚拟打印技术可以完美的将任意可打印文档转换成 PDF、TIFF、JPEG,BMP、PNG、EMF、GIF、TXT格式。 3.雪莹DocConvert虚拟打印转换。雪莹DocConvert是一款文档转化工具,它通过虚拟打印的技术将任何文档转化为PDF,JPG,BMP,TIFF,PCX,PNG等等文档格式。 参考技术A 如果你只是想达到转换的结果而不是知道过程的话的方法:用windows自带软件画图打开》文件》另存为》jpg/png即可。emf是矢量图,保存放大不会失去细节。追问

我需要java程序实现EMF的转换

参考技术B JAVA读取EMF文件并转化为PNG,JPG,GIF格式

使用第三方库下载地址为:http://java.freehep.org/vectorgraphics/index.html

主要思路:

使用EMFInputStream读取EMF文件,然后使用EMFRenderer对象将EMF绘制到创建

好的空白的BufferedImage里面。这样就把EMF图片转化为Java中的BufferedImage对

象,然后可以重新保存为Java 2D支持图像格式如PNG或者JPG等。
参考技术C 我在windows使用GraphicsMagick转换成功了,但是对我来说无用。GraphicsMagick有linux版本的。 用java代码调用服务器执行命令转换后用地址。虽然我还没有实践,但是我认为是可行的。我现在犯难是在这个功能是要适配麒麟的。GraphicsMagick并没有支持的包。 GG

以上是关于java EMF转为PNG或者PDF的主要内容,如果未能解决你的问题,请参考以下文章

Java将彩色PDF转为灰度(黑白)

各位大神,怎么把svg格式图片用代码转换成png格式或者jpg格式

Java 将PDF/XPS转为Word/html/SVG/PS/PCL/PNGPDF和XPS互转

Java如何把一个PDF转为tif

Java 将Excel转为PDF_基于Spire.Cloud.Excel

Java 将PDF/XPS转为Word/html /SVG/PS/PCL/PNGPDF和XPS互转(基于Spire.Cloud.SDK for Java)