首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache用EMF图片格式将DOCX转换为PDF。

Apache用EMF图片格式将DOCX转换为PDF。
EN

Stack Overflow用户
提问于 2015-12-21 09:29:30
回答 1查看 2.3K关注 0票数 1

我想将包含EMF图片的DOCX文件转换为PDF文件。Apache检测EMF图片类型,但是它在转换为PDF时使用com.lowagie.text.Image类。不幸的是,它不支持EMF格式。您知道如何将EMF图片替换为完全支持的JPG/GIF/BMP格式吗?

org.apache.poi.xwpf.converter.pdf版本: 1.0.5

代码语言:javascript
复制
FileInputStream fis = new FileInputStream("file.docx");
XWPFDocument document = new XWPFDocument(OPCPackage.open(fis));     
File outFile = new File("file.pdf");
OutputStream out = new FileOutputStream(outFile);
PdfOptions options = PdfOptions.create().fontEncoding("windows-1250");
PdfConverter.getInstance().convert(document, out, options);

上面的代码出现了一个错误:

2015年12月21日上午10:26:56 AM org.apache.poi.xwpf.converter.pdf.internal.PdfMapper visitPicture严峻:字节数组不是公认的图像格式。

EN

回答 1

Stack Overflow用户

发布于 2015-12-31 11:41:44

遗憾的是,POI没有为处理WMF/EMF提供专门的支持。但是,由于Windows为呈现这些格式提供了本机支持,Word将它们用作“预览图像”(尤指预览图像)。对于嵌入式OLEs)一直都是。

对于WMF,您可以使用Batik成功。见这里。对于EMF,目前没有(免费) Java实现AFAIK。你能做的就是

  1. 使用这个规格自己实现它,
  2. 在GDI或
  3. (简单解决方案)将提取的EMF反馈回Word (或Office家族的任何其他成员,如PowerPoint/Visio),并使用VBA将它们批处理到PNG中。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34392485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档