Python实践5:基于word模板批量生成邀请函

使用python-docx库批量替换Word模板中的客户姓名和落款时间,快速生成个性化邀请函。通过自定义函数处理模板文件,实现对指定文本的批量替换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

替换word模板中的客户姓名及落款时间,批量生成邀请函。

代码如下:

'''
依赖的包:python-docx
安装:pip install python-docx
引用:import docx
参考 https://www.cnblogs.com/wrajj/p/4914102.html
'''

# 根据模板,批量生成邀请函


from docx import Document
import time

# 自定义函数
def create_yaoqinghan(templateFilename,templateKeywords,newwords,templateKeywords2,newwords2,saveFilename):
    document = Document(templateFilename)
    for p in document.paragraphs:  # 获取每个段落
        for run in p.runs:   # 循环每个片段
            print(run.text)   
            if templateKeywords in run.text:
                run.text = newwords
            if templateKeywords2 in run.text:
                run.text = newwords2
    document.save(saveFilename)



create_yaoqinghan(r'邀请函.docx','username','李白','Time','2022年10月5日',r'邀请函_李白.docx')
create_yaoqinghan(r'邀请函.docx','username','杜甫','Time','2022年10月8日',r'邀请函_杜甫.docx')
# 可以将客户名称、落款时间在excel里整理好,然后通过xlwings读入excel,逐一生成邀请函。
print('done')

处理效果:

 

 

 如果客户数量很多,可以将客户名称、落款时间在excel里整理好,然后通过xlwings读入excel,逐一生成邀请函。

### Python 生成可爱风格邀请函的实现 以下是基于 `python-docx` 和其他常用模块的一个示例代码,用于生成具有可爱风格的邀请函。此代码可以作为基础模板进一步定制。 #### 安装依赖 在运行以下代码之前,请确保安装了所需的库: ```bash pip install python-docx pillow ``` #### 示例代码 ```python from docx import Document from docx.shared import Inches, Pt from PIL import Image, ImageDraw, ImageFont import os def create_invitation(name, event_details): # 创建一个新的 Word 文档 document = Document() # 设置页面布局和样式 section = document.sections[0] section.page_height = Inches(11.7) # A4 页面高度 section.page_width = Inches(8.3) # A4 页面宽度 # 添加标题 title = f"{name} 的专属邀请" heading = document.add_heading(title, level=1) font = heading.style.font font.name = 'Arial' font.size = Pt(24) font.bold = True font.color.rgb = RGBColor(255, 0, 0) # 插入可爱的图片背景 image_path = "cute_background.jpg" # 替换为你自己的图片路径 if not os.path.exists(image_path): img = Image.new('RGB', (600, 400), color='pink') d = ImageDraw.Draw(img) fnt = ImageFont.truetype("arial.ttf", 40) d.text((10, 10), "CUTE INVITATION", fill=(255, 255, 255), font=fnt) img.save(image_path) document.add_picture(image_path, width=Inches(6)) # 添加活动详情 details_paragraph = document.add_paragraph(event_details) run = details_paragraph.runs[0] run.font.name = 'Comic Sans MS' # 可爱字体 run.font.size = Pt(14) run.font.color.rgb = RGBColor(0, 0, 255) # 保存文档 output_file = f"{name}_invitation.docx" document.save(output_file) print(f"邀请函已成功生成并保存为 {output_file}") if __name__ == "__main__": name = input("请输入受邀者姓名: ") event_details = """ 时间:2023年12月25日 下午6点 地点:梦幻花园餐厅 主题:圣诞派对狂欢夜 备注:请穿着红色服装出席! """ create_invitation(name, event_details) ``` --- #### 功能说明 1. **自定义名称**:通过输入受邀者的姓名动态生成个性化邀请函。 2. **可爱风格**:使用粉色背景、圆润字体(如 Comic Sans MS),以及轻松愉快的语言描述[^3]。 3. **事件细节**:支持灵活配置时间、地点和其他备注信息。 4. **图片嵌入**:如果本地不存在预设背景图,则会自动生成一张简单的粉红底色图片,并带有文字装饰[^1]。 --- #### 注意事项 - 如果需要更复杂的设计效果,建议结合第三方工具或 API 来增强图形渲染能力[^2]。 - 对于大规模生产需求,可考虑优化脚本以批量化处理多个用户的邀请函。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值