我有一个问题: 如何在* .docx文件中添加页眉(和页脚)? 我在我的django项目中使用库python-docx。但它确实无法添加标题。 我使用'win32com'在堆栈上找到了解决方案(2012年7月),但现在它对我不起作用。 帮帮我一下。 谢谢。 祝你有愉快的一天。
答案 0 :(得分:0)
Courtest of edi9999 我认为你可以采取的最佳方式是查看python-docx以了解它如何管理文件。 Docx是压缩格式(Docx Tag Wiki):
.docx
格式是一个压缩文件,其中包含以下文件夹:
+--docProps
| + app.xml
| \ core.xml
+ res.log
+--word //this folder contains most of the files that control the content of the document
| + document.xml //Is the actual content of the document
| + endnotes.xml
| + fontTable.xml
| + footer1.xml //Containst the elements in the footer of the document
| + footnotes.xml
| +--media //This folder contains all images embedded in the word
| | \ image1.jpeg
| + settings.xml
| + styles.xml
| + stylesWithEffects.xml
| +--theme
| | \ theme1.xml
| + webSettings.xml
| \--_rels
| \ document.xml.rels //this document tells word where the images are situated
+ [Content_Types].xml
\--_rels
\ .rels
像docx-python这样的库首先提取docx,所以你可以在python docx中找到它:我找到了你:https://github.com/mikemaccana/python-docx/blob/master/docx.py#L65
def opendocx(file):
'''Open a docx file, return a document XML tree'''
mydoc = zipfile.ZipFile(file)
xmlcontent = mydoc.read('word/document.xml')
document = etree.fromstring(xmlcontent)
return document
您可以获取' word / document.xml'的xmlcontent。这是docx的主要内容,使用docx-python进行更改(我向你推荐,docx-python似乎能够添加许多不同的元素。如果你想复制其他word文档的内容)在文档的开头,您可能会尝试将document.xml的内容复制到document.xml中,但它可能会给您一些错误,特别是如果您使用图像或非文本内容。
要添加页眉或页脚,您必须创建文件word/header1.xml
或word/footer1.xml
您可以只复制您创建的文件的header1.xml内容,这应该可以。< / p>
希望这有帮助