python docx 处理文档 自动生成报告

读取文档模板

思路:先自己设置一个文档模板,定义好需要插入的位置,替换成特别的词语或语句。doc处理完一块替换,最后处理完保存为一个新的文件。

doc = Document(doc_model_path) 

指定位置插入图片

插入这个图片的大小需要根据图片的比例调整,网上的一个大神写的

def add_pic_after(doc, par, photo_path,height,width):
    for i, p in enumerate(doc.paragraphs):  # 遍历所有的段落
        if par in p.text:
            p.runs[-1].add_break()  # 添加一个折行
            shape = p.runs[-1].add_picture(photo_path)  # 在runs的最后一段文字后添加图片
            shape.height = height
            shape.width = width
            os.remove(photo_path)
            break
    return doc

文字替换(正文)

def replace_text(doc, old_text, new_text):
    # 遍历每个段落
    for p in doc.paragraphs:
        # 如果要搜索的内容在该段落
        if old_text in p.text:
            # 使用 runs 替换内容但不改变样式
            for run in p.runs:
                if old_text in run.text:
                    run.text = run.text.replace(old_text, new_text)

文字替换(表格)

def replace_table(table, old_text, new_text
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值