2016-03-24 88 views
4

我想在python中創建一個程序,該程序可以在.docx文件中找到特定的詞並返回它發生的頁碼。到目前爲止,在查看python-docx文檔時,我一直無法找到如何訪問頁碼或甚至頁碼所在的頁腳。有沒有辦法做到這一點使用python-docx甚至只是python?或者,如果不是,那麼最好的辦法是什麼?頁碼python-docx

回答

3

簡短答案是否定的,因爲分頁符被渲染引擎插入,而不是由.docx文件本身確定。

但是,某些客戶端在保存的XML中放置了一個<w:lastRenderedPageBreak>元素,以指示上次渲染頁面時他們破壞了頁面的位置。

我不知道是哪做到這一點(雖然我想到這個詞本身一樣),以及如何可靠的是,但那是如果你想在Python工作,我會建議的方向。你可能會使用Python,DOCX得到你想要的LXML元素的引用(如w:document/w:body),然後使用XPath命令或東西通過遍歷到特定頁面,而只是通過一個有點想它也將是一些詳細的發展那裏工作。

如果您在本機Windows的MS Office API中的工作,因爲它實際運行的Word應用程序,你可能能夠得到更好的東西。

如果你正在生成中的python-DOCX文檔,這些元素將不會被放置,因爲它沒有試圖呈現文檔(也不是以往任何時候都可能)。我們也不太可能在短時間內增加對w:lastRenderedPageBreak的支持;我甚至不確定那會是什麼樣子。

如果您對「lastRenderedPageBreak」和/或「的python-DOCX分頁符」,你會在這裏看到其他問題/答案,可能會給多一點搜索。

+0

感謝您的快速回答! – lehast22