java获取word页数_用程序获取word页码方法汇总

在档案管理系统开发中,需要获取Word文件页码。尝试了多种方法,包括Java的Apache POI(页码不准确)、C#的Microsoft.Office.Interop.Word.Application(通过JNI在Windows上运行,有时页数不对)、Python的oletools(适用于Linux,但阅读模式下页数错误)和zipfile+xml.etree.ElementTree(适用于docx文件)。实践中,结合oletools和C#来确保在各种情况下获取正确页数。
摘要由CSDN通过智能技术生成

## 背景说明 最近参与了一个档案管理系统,使用java开发,部署在centos,其中的一个功能需要获取到word文件准确的页码,现在将尝试过的方法汇总如下:

  • Java Apache POI
  • C# Microsoft.Office.Interop.Word.Application
  • Python oletools (只支持doc)
  • Python zipfile xml.etree.ElementTree (只支持docx)

Apache POI

由于系统是java开发的,所以首先尝试了poi,但是获取的页码不准确,所以这个方案放弃掉了。poi操作word的例子很多,这里就不上示例代码了。

C# Microsoft.Office.Interop.Word.Application

这种方法是能运行在windows上,直接上代码

public 

这个方法需要使用做成dll,通过jni调用,将结果传给java。这个方法运行了一段时间后,运维反应还是有页数不对的,于是有了下一个方法。

Python oletools

上一个方法,由于C# Microsoft.Office.Interop.Word.Application只能在windows使用,所以还特意配了一台windows服务器,而使用oletools则可以运行在linux。 word文件本质上是一个ole文件,所以可以使用oletools工具包中的一个工具olemeta将信息读取到,meta是指word文件的元属性,如图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值