Linux实现Python读取word文件方法是?,linuxpython,R.T.doc 是二进制
Linux实现Python读取word文件方法是?,linuxpython,R.T.doc 是二进制
R.T.
doc 是二进制文件,Python 如何进行读取呢?
.docx 可用 python-docx 读取,但如何读到页数信息呢?
注:在 linux server 上,而不是 windows
只有原则没有细则,仅供参考。
必须说明:不同于Illustrator、InDesign、CorelDRAW、OpenOffice DRAW、Incscape等工具,Word是流动分页的,文件内容本身并不存储分页结果。具体分页时断在哪里、最后分出多少页,都需要现场渲染所有的图文内容之后才能确定。
(简而言之就是:Word文件中仅包含了一行一行的文本,与页面设置中指定的页面尺寸。Word每次打开文件时都会一行一行“摆放”文本数据,发现一页装不下了自动新开一页。当然真正的Word渲染引擎肯定有更复杂的行为。)
从.doc/.docx文件中直接读出页面数量,这本身就是个伪命题。所以千万别在“直接读取页面数量”这个方向上寻求方案——软件开发的技法不好可以改正,但路线错了必死无疑!
你需要调动一套能够真的把Word文件的内容渲染出来的工具(支持二次开发的)。只有把Word文件的所有内容渲染成为可以观看的图形,才能准确得知页面的总数。在Linux上很可能LibreOffice可以吧。而在Windows上就当然是用Word本身了。
注意Word的分页结论是没有保证的。缺少字体、字形不同、软件环境不同等各种原因,都会造成不同电脑上打开同一个Word文件的页数不一致。这一点对服务器也没有例外。得到了页数也只能参考使用,而不要100%信赖。
file 命令可以读到页数的,比如:
xxx.doc: Composite Document File V2 Document, Little Endian, Os: Windows, Version 5.1, Code page: 936, Author: wen, Template: Normal.dotm, Revision Number: 14, Name of Creating Application: Microsoft Office Word, Total Editing Time: 02:02:00, Create Time/Date: Mon Dec 31 16:47:00 2001, Last Saved Time/Date: Fri May 15 02:01:00 2009, Number of Pages: 41, Number of Words: 4968, Number of Characters: 28324, Security: 0
当然准不准确就另说了。我猜是最后一次保存文件时的页数。
编橙之家文章,
相关内容
- Python os.environ能获取到的环境变量,在os.environ.getenv得不
- Python lxml xpath解析为何只能获得头部信息,lxmlxpath,我在
- Python http requests模拟登录与提交表单的实现问题,pyth
- Python IDE代码复制到word中,缩进问题如何保证,pythonide
- 不是很理解这段python for循环的原理,pythonfor循环原理
- 问一个关于Hadoop Python中读写文件统计分析相关问题,
- 使用Python+Selenium获取淘宝商品详情页面数据 ajax加载怎
- 求素数的问题,请问python计算第10979977个素数应该怎么
- python多线程依次下载思路,python多线程思路,我有一文件
- python httpserver被系统杀死是什么原因,pythonhttpserver,想在
评论关闭