当前位置:Gxlcms > PHP教程 > php如何获取word页数?

php如何获取word页数?

时间:2021-07-01 10:21:17 帮助过:95人阅读

尝试用openoffice转换为pdf再读页数,但是需要时间长,而且格式有变化

回复内容:

谢邀. (有文件格式或者协议格式分析这样的问题请发给我.)
如果只是获得页数的话很简单.

手工操作:(代码操作请参考)
因为现在都是DOCX格式的文档了.我谈谈手工的方案.
1.将DOCX文件的扩展名改成zip;
2.打开这个zip文件,默认会出现三个文件夹和一个xml文件;
3.进入docProps文件夹,有两个文件:core.xml和app.xml;
4.打开app.xml,找到"x"这行,此处就是DOCX文件的页数.

原理:
DOCX文档本质上是一个zip格式的压缩文件,docx文档的属性信息全部记录在对应的xml文件里.具体细节可自行探索.

微软官方定义:DOCX
Microsoft Corporation
微软官方定义:DOC
了解 Word MS-DOC 二进制文件格式
谢邀……
没做过类似的内容,不过随手百度了一下……
2007以后的word文件都可以参考 费庄轩 的答案……
只不过他给出的是 手动版的……

通过手动版改成自动版 应该不是问题吧…… 那我来说另外一个方法,PHP5似乎可以调用COM,而Office有COM接口,所以可以直接从PHP里面调用,具体的接口可以参考MSDN,直接对着名字猜也八九不离十。
缺点当然很明显就是必须在Windows上运行而且要先装好Office,而且调用起来很慢(实际上在后台启动了一个Word的进程),优点是支持所有的格式包括doc和docx。除了读取页数还能做所有的Word操作。
仅仅获取文件属性的话记得有一些Windows API可以用,具体需要其他人补充了。 何不试试phpoffice 嗯 phpoffice 里的phpword 哎呦,居然有人和我一样的需求。看这里,有例程呃:
php - How to get the number of pages in a Word Document on linux?

人气教程排行