所需Jar包 (注意,jar不能少,版本也要对应,否则会报错,类似:org/plutext/jaxb/xslfo/ObjectFactory 这样的错误都是因为缺少jar包)

注意:下面字体格式设置可能不全,所以在word转成pdf出现乱码时,尽量把word模板的字体改成下面代码中有的字体。这样就不会乱码了。但是我的图片样式还是错位,欢迎知道怎么解决的小伙伴给我留言。

avalon-framework-4.1.5 
commons-io-2.4 
docx4j-2.7.1 
log4j-1.2.15 
serializer-2.7.1 
xmlgraphics-commons-1.3 
batik-util-1.6-1 
commons-logging-1.1.3 
fop-0.93

xalan-2.7.1

-------------------------------------------------------------------------------------------------------------------------

/**
 * docx文档转换为PDF
 *
 * @param  docx文档
 * @param pdfPath PDF文档存储路径
 * @throws Exception 可能为Docx4JException, FileNotFoundException, IOException */
public static void convertDocxToPDF(String docxPath, String pdfPath) throws Exception {OutputStream os = null;
   try {InputStream is = new FileInputStream(new File(docxPath));
      WordprocessingMLPackage mlPackage = WordprocessingMLPackage.load(is);
      Mapper fontMapper = new IdentityPlusMapper();
      fontMapper.put("隶书", PhysicalFonts.get("LiSu"));
      fontMapper.put("宋体",PhysicalFonts.get("SimSun"));
      fontMapper.put("微软雅黑",PhysicalFonts.get("Microsoft Yahei"));
      fontMapper.put("黑体",PhysicalFonts.get("SimHei"));
      fontMapper.put("楷体",PhysicalFonts.get("KaiTi"));
      fontMapper.put("新宋体",PhysicalFonts.get("NSimSun"));
      fontMapper.put("华文行楷", PhysicalFonts.get("STXingkai"));
      fontMapper.put("华文仿宋", PhysicalFonts.get("STFangsong"));
      fontMapper.put("宋体扩展",PhysicalFonts.get("simsun-extB"));
      fontMapper.put("仿宋",PhysicalFonts.get("FangSong"));
      fontMapper.put("仿宋_GB2312",PhysicalFonts.get("FangSong_GB2312"));
      fontMapper.put("幼圆",PhysicalFonts.get("YouYuan"));
      fontMapper.put("华文宋体",PhysicalFonts.get("STSong"));
      fontMapper.put("华文中宋",PhysicalFonts.get("STZhongsong"));

      mlPackage.setFontMapper(fontMapper);

      os = new java.io.FileOutputStream(pdfPath);

      FOSettings foSettings = Docx4J.createFOSettings();
      foSettings.setWmlPackage(mlPackage);
      Docx4J.toFO(foSettings, os, Docx4J.FLAG_EXPORT_PREFER_XSL);

   }catch(Exception ex){ex.printStackTrace();
   }finally {IOUtils.closeQuietly(os);
   }
}

用docx4j生成word之后转成pdf相关推荐

  1. Docx4j生成word表格(无问题),用Libreoffice转换为pdf格式乱掉问题

    缘起 最近做了一个项目,用Docx4j生成word,然后转换为pdf展示,在前面的博文java docx4j动态生成表格,保存为word,并通过Libreoffice转PDF已经给过较为完美的解决方案 ...

  2. Word怎么转换成PDF格式的文件

    Word怎么转换成PDF格式的文件?现在很多办公室都会接触到类似的问题,对于普通员工来说,领导说什么就是什么,领导让怎么做就得怎么做.小编每天都是各种资料和报告,领导前几日有发了不少Word文件让我想 ...

  3. Acrobat如何将word文件转换成pdf格式

    很多朋友电脑装了Adobe Acrobat,却不知道Acrobat如何将word文件转换成pdf格式,现在就给大家讲解一下.比如,我们电脑安装Adobe Acrobat  Professional 7 ...

  4. 用Python批处理将WORD文件转换成PDF格式(工具:win32com模块)

    用Python批处理将WORD文件转换成PDF格式 一.问题分析 key words:批处理.WORD转换PDF.办公自动化 二.材料准备 三.代码实现 ☆其他问题:日常遇到问题,整理笔记不易,欢迎交 ...

  5. Word怎样转换成PDF文件? 迅捷Word与CAD互转图文教程

    经常做设计的相关的伙伴们可能都知道Word怎样转换成PDF文件,毕竟在很多的办公软件都是可以相通的,我们在设计中,不光单单是为了设计,有时候,为了需要,也会将world转换成PDF图纸文件,那今天就给 ...

  6. 将word文件转换成PDF的两种方法

    由于工作需要,使用了两种方式实现了word文件转PDF的功能.以下的程序是我使用VB6编写,供大家参考. 第一种方法,使用PDFMAKERAPILib,使用这种方法,可以设置文件的安全性.这种方式是A ...

  7. word格式转换成pdf格式转换器

    对于许多人而言PDF文件并不陌生,它是一种通用的电子文档格式,具有良好的通用性和可读性,将Word转PDF文档可以很好地保存原件中的文字.图片.链接等.然而问题出现了,如何将Word转成PDF呢?其实 ...

  8. Word怎么转换成pdf?Word批量转换成pdf教程

    Word文档是我们生活中常见且经常使用的文本格式,在使用Word文档时,多数情况下会涉及到转换的问题,很多人希望将Word转换成PDF文件使用.但对于Word怎么转换成PDF却是众说纷纭的,几乎是每一 ...

  9. Word怎么转换成PDF

    Word文件编辑完成之后,转发给别人之后在打开文件,可能会发生格式错乱等情况,这种时候可能就需要将word文件转换成PDF文件就方便许多,PDF文件兼容性更强一些.不容易发生格式错乱的问题,那么,wo ...

最新文章

  1. 2019,商业智能的10大未来趋势
  2. 多图片每隔2S循环播放
  3. 量子计算生态:市场预期、行业应用与“霸权”争夺
  4. Windows 窗体多线程
  5. 在全局中调用类的静态成员函数
  6. 微信视频号推荐算法上分技巧
  7. 网易云信SDK V3.2.0版发布啦!
  8. POJ 1410 Intersection 判断线段交和点在矩形内 【计算几何】
  9. 高起专计算机应用基础试题及答案,重庆大学网络教育高起专计算机应用基础入学考试模拟题及答案(二)...
  10. 主从复制1062错误的解决方法
  11. 大数据营销技术对企业有什么影响
  12. BetterZip使用教程:Mac用户如何提取压缩文件?
  13. Nginx从入门到入坟(九)- Nginx静态资源如何防盗链
  14. 【将多个Excel合并成一个Excel】
  15. 第一章 使用SOAPUI测试和开发Web Services Stubs
  16. FTP-文件传输协议
  17. 电脑右下角弹出广告解决方法
  18. 项目实训(十四)pun的建立,使用以及注意方法
  19. [句型] 二十四、特殊疑问句 [ where ] [ what ] [ why ]
  20. 2020年营收仅62.5万,九城凭什么砸1亿美金购买矿机?

热门文章

  1. 清橙1485 Catch The Penguins 抓企鹅
  2. xml在u3d的使用[u3d_rpg游戏开发之物品管理(四)]
  3. Microsoft.Office.Interop.Word通过模板生成文档出现的问题经验总结
  4. 青语易呼电销机器人源码独立部署搭建步骤
  5. [转载] 如何规划好自己的读博生涯
  6. 电脑各种中英文信息对照及错误信息总汇 系统出错信息及解决方案
  7. 蓝桥杯总结!绝对干货!!
  8. Linux kprobe原理
  9. Collections的emptyList() emptyMap() emptySet()
  10. TechCrunch Disrupt大会:YouTube创始人陈士骏专访