当前位置: 首页 > article >正文

python+docxtpl:word文件模版渲染

目录

操作流程

加载模版

模版渲染

文件保存

python-docx库结合

模版渲染说明

变量值的获取

模板代码语句

遍历生成列表


docxtpl使用jinja2作为框架的模板系统,基于python-docx,同样可以使用python-docx库的一些方法,如添加段落,添加图片、列表等。

安装:pip install docxtpl -i https://pypi.mirrors.ustc.edu.cn/simple/

使用一般步骤:模版文件加载->模版渲染->文件保存。

操作时会用到的相关方法类:加载模板DocxTemplate、设置图片InlineImage、设置文本样式RichText

操作流程

加载模版

from docxtpl import DocxTemplate, InlineImage, RichText
from docx.shared import Mm, Inches, Pt, Cm

doc = DocxTemplate(r'C:\Users\Administrator\Desktop\模版文件.docx') 

模版渲染

# 模版变量
context = {'title': RichText('页眉测试', color='FFDD00', bold=True),
           'name': '张非',
           'remark': {'remark1': '备注1', 'remark2': '备注2', 'remark3': ['备注3-1', '备注3-2''备注3-3']},
           'img': InlineImage(doc, r'C:\Users\Administrator\Desktop\testfile\测试图片\124.png', width=Cm(6),
                              anchor='https://www.baidu.com/'),  # 插入图片
           'table_datas': [
               {'name': '刘唐', 'masterwork': '《水浒》', 'bg': 'FF0000', 'other': ['刘', '唐']},
               {'name': '悟空', 'masterwork': '《西游》', 'other': ['悟', '空']},
               {'name': RichText('甄士隐', color='FFDD00', bold=False), 'masterwork': '《红楼》', 'bg': '8888FF',
                'other': ['甄', '士', '隐']},
               {'name': RichText('诸葛尚', color='FF0000', bold=True), 'masterwork': '《三国》', 'other': ['诸葛', '尚']}
           ],
 

http://www.kler.cn/news/356906.html

相关文章:

  • 近期股市热潮,现有架构模块下金融交易系统如何应对“冲击”?优化思路如下
  • package.json 里的 dependencies和devDependencies区别
  • C++游戏开发:从零开始构建一个简单的2D平台游戏《跳跃冒险》
  • 从头预训练一只迷你 LLaMA 3_llama3 预训练预处理
  • apifox发送请求,参数类型为枚举类
  • 力扣——环形链表(链表)C语言
  • 浏览器无法安全下载文件怎么解决
  • 使用 JAX 进行 LLM 分布式监督微调
  • 力扣 中等 19.删除链表的倒数第N个结点
  • 深入解析缓存技术
  • leetcode36:有效的数独
  • STM32学习笔记---独立看门狗
  • 【二刷hot-100】day 3
  • Python中的SQLAlchemy:解锁数据库操作的新世界
  • 8年测试工程师 —— 如何使用Playwright优化测试性能!
  • 一起搭WPF架构之livechart的MVVM使用介绍
  • VTK的学习方法-第二类型应用
  • 【Git】常用Git命令
  • OpenCV高级图形用户界面(9)更改指定窗口的位置函数moveWindow()的使用
  • 如何安装MySql