页码python-docx

leh*_*t22 8 python docx python-docx

我试图在python中创建一个程序,可以在.docx文件中找到特定的单词并返回它发生的页码.到目前为止,在查看python-docx文档时,我一直无法找到如何访问页码或甚至是数字所在的页脚.有没有办法使用python-docx或甚至只是python?或者如果没有,最好的方法是什么?

sca*_*nny 8

简短的回答是否定的,因为分页符是由呈现引擎插入的,而不是由.docx文件本身决定的.

但是,某些客户端<w:lastRenderedPageBreak>在保存的XML中放置一个元素,以指示它们在上次呈现时中断页面的位置.

我不知道这是做什么的(虽然我希望Word本身可以做到)以及它有多可靠,但如果你想在Python中工作,这就是我推荐的方向.您可以使用python-docx来获取对所需lxml元素的引用(比如w:document/w:body),然后使用XPath命令或某些东西迭代到特定页面,但只是想一下它会在那里进行一些详细的开发让它工作.

如果您使用本机Windows MS Office API,您可能能够获得更好的东西,因为它实际上运行Word应用程序.

如果您在python-docx中生成文档,则不会放置这些元素,因为它不会尝试呈现文档(也不可能).我们也不太可能很快添加对w:lastRenderedPageBreak的支持; 我甚至不确定那会是什么样子.

如果您搜索'lastRenderedPageBreak'和/或'python-docx分页符',您会在这里看到其他问题/答案,可能会提供更多.