我正在尝试用 python 创建一个程序,它可以在 .docx 文件中查找特定单词并返回它出现的页码。到目前为止,在浏览 python-docx 文档时,我无法找到如何访问页码,甚至无法找到页码所在的页脚。有没有办法使用 python-docx 甚至只是 python 来做到这一点?或者如果没有,最好的方法是什么?
简而言之,答案是否定的,因为分页符是由渲染引擎插入的,而不是由 .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分页符”,您会在此处看到其他问题/答案,这些问题/答案可能会提供更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)