Java通过OpenOffice + Jodconverter将word文档转换为pdf时,接受word中的所有修订

最近有个需求将word文档转换成PDF。我是通过OpenOffice+JodConverter进行转换的,但是转换后发现word文档中的批注还存在,通过查阅相关资料,找到了解决方案,参考的文章链接:

https://blog.csdn.net/china_huimark/article/details/76637645

使用的jodconverter版本是:

<dependency>
    <groupId>org.artofsolving.jodconverter</groupId>
    <artifactId>jodconverter-core</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/jodconverter-core-3.0-beta-4.jar</systemPath>
</dependency>

下载地址: https://pan.baidu.com/s/1JEt5RMu8lTxEU_tsIInffQ#list/path=%2F
提取码:0fxn

下载jodconverter-core-3.0-beta-4.jar后,修改jar包的源码。
如何修改可以参考这个链接:

https://blog.csdn.net/coycleipenghui/article/details/52998957

主要修改的类是org.artofsolving.jodconverter.AbstractConversionTask,修改execute(OfficeContext context)方法,在this.modifyDocument(document);下面添加以下代码:

XTextDocument mxDoc = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, document);
XPropertySet xPropertySet = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, mxDoc);
xPropertySet.setPropertyValue("RedlineDisplayType", RedlineDisplayType.NONE);

最后生成class文件,替换jodconverter-core-3.0-beta-4.jar包里的class,再次转换的时候就可以获取到word文档的最新版本了。

这里替换class文件,我是先将jar包解压,将修改后的class文件替换后,再重新进行打包。
解压命令:jar -xvf xxx.jar
打包命令:jar -cfM0 xxx.jar *

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值