使用docxmailmerge Python保留未使用的合并字段

2024-09-28 18:16:21 发布

您现在位置:Python中文网/ 问答频道 /正文

使用库“docx-mailmerge”,我只想替换具有匹配项的mergefields,并在DOCX文档中保留我没有使用的其他mergefields。 但是,此库将所有nom used字段替换/删除为空白

我想保持这个mergefields不变,以便将来使用另一个python脚本。 我试图编辑库代码,但得到的是一个简单的文本,而不是一个可编辑的字段

def write(self, file):
    # Replace all remaining merge fields with empty values
    for field in self.get_merge_fields():
        self.merge(**{field: '{ MERGEFIELD '+field+' \* MERGEFORMAT }'})

在DOCX中,我应该得到类似于“«字段»”的内容,但我得到的是“{MERGEFIELD field*MERGEFORMAT}”

此外,我尝试手动解压缩原始DOCX模板,复制包含此字段的XML代码的行(在./NameOfDocFile/word/document.XML中),并将其放入输出文件并再次压缩,但我损坏了该文件(我不确定是否复制了使其正常工作所需的所有内容,但我已经尽力了)

同样的问题在here上发表,没有答复。 提前谢谢


Tags: 文件代码self编辑field内容fieldsxml