python docxtpl 界面_docxtpl模块的word模板替换内容

一、介绍

这个包使用两个主要的包:

用于读取、写入和创建子文档

用于管理插入到模板docx中的标记

python-docx模板已经创建,因为python-docx对于创建文档非常强大,但是对于修改文档却无能为力。

这个想法是开始创建一个你想要用microsoft word生成的文档的例子,它可以像你想要的那样复杂:图片,索引表,页脚,页眉,变量,任何你可以用word做的事情。然后,由于您仍然在使用microsoft word编辑文档,所以可以直接在文档中插入类似jinja2的标记。您将文档保存为.docx文件(xml格式):它将是您的.docx模板文件。

现在可以使用python-docx-template从.docx模板和关联的上下文变量中生成任意数量的word文档。

更多高级用法请查看文档,以下是简单示例

二、代码

from docxtpl importDocxTemplatedeftemp_word(tmep_path,word_apth):

tpl=DocxTemplate(tmep_path)#需要替换内容以key:value的方式进行更换

context ={"name":"上海市XXXXXX公司","num":"num0000001","custom":"上海市XXXXXX公司","year":"2020","month":"1","day":"2"}

tpl.render(context)

tpl.save(word_apth)

三、word模板

模板展示

第一步:

此时是红色的

第二步:

选中{ {name}}后鼠标右击,选着接收插入

第三步:

运行程序

四、word转pdf

word转pdf还有个前提是安装一个官方插件,不然会报错

网盘:https://pan.baidu.com/s/1jGX48q5cZRmlDfsUN3Jh4g

密码:lt3n

from win32com.client importconstants, gencacheimportwin32ui

dlg= win32ui.CreateFileDialog(1) #1表示打开文件对话框

dlg.SetOFNInitialDir(r"C:\Users\admin\Desktop") #设置打开文件对话框中的初始显示目录

dlg.DoModal()

filename= dlg.GetPathName() #获取选择的文件名称

defcreatePdf(wordPath, pdfPath):"""word转pdf

:param wordPath: word文件路径

:param pdfPath: 生成pdf文件路径"""word= gencache.EnsureDispatch('Word.Application')

doc= word.Documents.Open(wordPath, ReadOnly=1)

doc.ExportAsFixedFormat(pdfPath,

constants.wdExportFormatPDF,

Item=constants.wdExportDocumentWithMarkup,

CreateBookmarks=constants.wdExportCreateHeadingBookmarks)

word.Quit(constants.wdDoNotSaveChanges)if filename.split(".")[1] =="docx":

p=filename.split(".")[0]+".pdf"createPdf(filename,p)

你可能感兴趣的:(python,docxtpl,界面)