我有几百个word文档,我需要添加一个特定的标题(如在典型的MS Word页眉/页脚中)。这不是标题需要修改,这些文档只是不包含一个。有没有办法用Python-docx模块做到这一点?我最近发现它并且看起来很有希望。
答案 0 :(得分:1)
如果用户没有docx包,也可以通过win32完成,使用它。
..//
import win32com.client
if win32com.client.gencache.is_readonly == True:
win32com.client.gencache.is_readonly = False
win32com.client.gencache.Rebuild()
from win32com.client.gencache import EnsureDispatch
from win32com.client import constants
word = win32com.client.gencache.EnsureDispatch("Word.Application")
word.Visible = False
#tell word to open the document
word.Documents.Open (IP_Directory_Dest + "\\" + name)
#open it internally
doc = word.Documents(1)
# for changing the header information of the Document
word.Visible = True
word.ActiveDocument.Sections(1).Headers(win32com.client.constants.wdHeaderFooterPrimary).Range.Text='STUFF U WANT AS UR DOCUMENT HEADER'
word.ActiveDocument.Save()
... ///
答案 1 :(得分:0)
非常简单。
from docx import *
document = yourdocument.docx
docbody = document.xpath('/w:document/w:body',namespaces=wordnamespaces)[0]
docbody.append(heading('Your header text',1) )
答案 2 :(得分:0)
如果我理解,你需要在许多docx文件中创建一个标题部分。 据我所知,人们正在研究python-docx来实现这一点。 虽然此新功能不可用,但您可以直接将其添加到docx文件中。
如果您还不知道,可以解压缩docx文件。在它的结构中有一些header.xml文件。
一个建议是,使用标题创建一个docx文件,然后使用lxml和zipfile模块,您可以简单地更新所有docx文件中的header.xml文件。
如果您认为这可以帮助您解决问题,请告诉我,我可能会指导您。
此致
答案 3 :(得分:0)
保持正确的单词标题格式。
这不是编辑docx的理想解决方案,但它主要解决了我的python docx文本插入需求。
最终python docx可能会添加更多功能来帮助编辑页眉/页脚。