看起来,Docx for Python并不意味着要存储带有图像,标头…的完整Docx,而仅包含文档的内部内容。因此,没有简单的方法可以做到这一点。
Howewer,这是您的 *** 作方法:
首先,看看docx标签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仅在 opendocx* 方法中获得文档的一部分 *
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
它仅获取document.xml文件。
我建议您做的是:
- 使用* opendocx 获取文档内容
- 用 advReplace 方法替换document.xml
- 以zip格式打开docx,然后用新的xml内容替换document.xml内容。
- 关闭并输出压缩文件(将其重命名为output.docx)
如果您安装了node.js,则被告知我已经在DocxGenJS(它是docx文档的模板引擎)上工作,该库正在积极开发中,并将作为节点模块尽快发布。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)