想到的是虚拟打印机方法,自己写一个打印机驱动,这样把所有文档都通过 PCL 或者其他格式统计,有没有好用的开源库可以参考?
1
renmu123 2021-05-24 15:09:36 +08:00 via Android
你要不找个你熟悉语言的 word 库,应该能直接统计
|
2
YvesX 2021-05-24 15:10:08 +08:00
……直接读文件不行吗
docx 文件可以按 zip 打开,/docProps/app.xml 明明白白地写着当前文件的页面和字数统计信息 |
3
Licsber OP @renmu123 #1 刚刚试了 python 的 python-docx
遇到了新问题 使用 macOS 无法调用 win32com 将 doc 文件转化为 docx 顺路找到了 antiword 显示我这一个文件不是 Word 故此方案不可行 一批文件里同时有 doc 和 docx |
4
XiLingHost 2021-05-24 15:43:36 +08:00
office 套件的文件一般都是 ooxml,你找个对应的库就可以了
|
6
Vegetable 2021-05-24 15:49:38 +08:00
全部打印成 PDF 呢?
|
7
Licsber OP @XiLingHost #4 刚刚看了看 文件五花八门的 交后缀 wps 都有 这样的后缀我还可以打回重交 但是 doc 和 docx 总不能限制只提交 docx 吧
|
8
YvesX 2021-05-24 15:53:09 +08:00
doc 格式里面存的是二进制文件,也不是把 SummaryInformation 数据拉不出来,应该同样有现成的库可以用
|
9
Jirajine 2021-05-24 15:54:47 +08:00 via Android
@Licsber 都 2021 年了,完全不必要 doc 。新版格式各种库和第三方应用的兼容性也更好。
|
10
XiLingHost 2021-05-24 15:55:25 +08:00
@Licsber 为啥不可以,doc 都已经是多古老的格式了,让他们直接在 office 里转换啊
|
11
Licsber OP |
12
Licsber OP @XiLingHost #10 相较强制所有用 doc 的人全部改成 docx 这样的工作量而言 还是收集文档的时候顺带让每个人填一下页数更简便吧 强制转化绝对不可行 对用户要求太高了
|
13
qqjt 2021-05-24 16:19:00 +08:00
libreoffice 有 python sdk 的好像,可以试试。其实没啥可纠结的,windows 电脑操作就完事了
|
15
Licsber OP |
16
renmu123 2021-05-24 17:08:25 +08:00
|
17
Licsber OP @renmu123 #16 这个思路有点怪 我试了试 没看出来什么规律 只看到有些东西在不断重复
rels/PK drs/downrev.xmlPK 类似的文本 |
19
renmu123 2021-05-24 19:23:41 +08:00 via Android
@Licsber 我标注的这一行应该是文档的一些基础信息,比如有 word 版本,用户信息,页码,还有一些额外的信息我没仔细看,你用 16 进制模式打开应该也能看到。
|
20
play78 2021-05-24 19:41:04 +08:00
什么语言? java 的话,用 poi 。
|
21
danbai 2021-05-24 19:49:09 +08:00
通过 aspose 库可行 该库付费
Document doc = new Document(file.getInputStream()); int num = doc.getPageCount(); |
22
miao1007 2021-05-24 22:04:39 +08:00 via iPhone
先转为 pandoc 然后 wc
|