- 错误提示:nested exception is java.lang.NoClassDefFoundError: org/apache/poi/POIXMLdocumentPart
- 错误原因:
- 解决方式
- 资源下载
1、poi版本升级至4.1.2版本后导致转pdf包中XWPFStylesdocument类找不到POIXMLdocumentPart,POIXMLdocumentPart包的路径发生改变为org.apache.poi.ooxml.POIXMLdocumentPart
2、需要重写XWPFStylesdocument.getFontsdocument()、XWPFStylesdocument.getThemedocuments()、XWPFStylesdocument.getSettings()方法,获取RelationshipType
3、pdf包org.apache.poi.xwpf.converter.core尚未维护更新,最新版本1.0.6与poi4.1.2版本不匹配
1、重写pdf包org.apache.poi.xwpf.converter.core.XWPFStylesdocument类,主要有四个地方需要修改:
- 修改POIXMLdocumentPart包路径
- 重写POIXMLdocumentPart.getFontsdocument()、POIXMLdocumentPart.getThemedocuments()、POIXMLdocumentPart.getSettings()。
- 注意:重写POIXMLdocumentPart后使用方式有两种:
-
(1)、项目中填加org.apache.poi.xwpf.converter.core.styles包路径
-
(2)、编辑XWPFStylesdocument类替换org.apache.poi.xwpf.converter.core-1.0.6.jar包中的文件
-
2、换种方式实行word转pdf,poi版本依旧使用4.1.2版本。具体参照 https://blog.csdn.net/weixin_47179113/article/details/119457586
资源下载1、XWPFStylesdocument.java源码link
2、重写后的org.apache.poi.xwpf.converter.core-1.0.6.jar包link



