Python docx库删除复制paragraph及行高设置图片插入示例


Posted in Python onJuly 23, 2022

引言

这两天做一个python小工具,用到了docx库,涉及到paragraph的删除、,还有行高设置等技术,这里做一下记录。

1、复制paragraph

即用来原文档的加粗、斜体,下划线,颜色等属性的,官方没有提供paragraph的接口,只能自己实现:

# paragraph 的
def get_para_data(output_doc_name, paragraph):
    """
    Write the run to the new file and then set its font, bold, alignment, color etc. data.
    """
    output_para = output_doc_name.add_paragraph()
    for run in paragraph.runs:
        output_run = output_para.add_run(run.text)
        # Run's bold data
        output_run.bold = run.bold
        # Run's italic data
        output_run.italic = run.italic
        # Run's underline data
        output_run.underline = run.underline
        # Run's color data
        output_run.font.color.rgb = run.font.color.rgb
        # Run's font data
        output_run.style.name = run.style.name
    # Paragraph's alignment data
    output_para.paragraph_format.alignment = paragraph.paragraph_format.alignment

2、删除paragraph

网上有用clear()的,实际不行。 我删除一个空行paragraph,用clear不行,还是后来用了下面这个接口才解决:

def delete_paragraph(paragraph):
    p = paragraph._element
    p.getparent().remove(p)
    p._p = p._element = None

3、插入图片和paragraph行高设置

由于默认的行高限制,我的使用中遇到了麻烦,插入的图片的时候,图片部分只能显示一部分。后来,找到了一个办法设置行高属性:

from docx.enum.text import WD_LINE_SPACING
     paragraph.paragraph_format.line_spacing_rule = WD_LINE_SPACING.MULTIPLE #根据实际大小
     output_run = paragraph.add_run("")
     output_run.add_picture('{}.png'.format(ownerName), width=Pt(50), height=Pt(15))

以上就是Python docx库删除复制paragraph及行高设置图片插入示例的详细内容,更多关于Python docx库操作的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python3中的2to3转换工具使用示例
Jun 12 Python
在Python 3中实现类型检查器的简单方法
Jul 03 Python
python模拟Django框架实例
May 17 Python
浅谈python 线程池threadpool之实现
Nov 17 Python
使用python实现链表操作
Jan 26 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
May 24 Python
python pandas实现excel转为html格式的方法
Oct 23 Python
python消除序列的重复值并保持顺序不变的实例
Nov 08 Python
python列表,字典,元组简单用法示例
Jul 11 Python
快速解决vue.js 模板和jinja 模板冲突的问题
Jul 26 Python
Django如何重置migration的几种情景
Feb 24 Python
Python加密与解密模块hashlib与hmac
Jun 05 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 #Python
Pytorch中expand()的使用(扩展某个维度)
Jul 15 #Python
Python实现聚类K-means算法详解
Jul 15 #Python
python自动获取微信公众号最新文章的实现代码
Jul 15 #Python
pytorch实现加载保存查看checkpoint文件
Jul 15 #Python
pytest实现多进程与多线程运行超好用的插件
Jul 15 #Python
python如何将mat文件转为png
Jul 15 #Python
You might like
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
一秒学会微信小程序制作table表格
2019/02/14 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
Python图算法实例分析
2016/08/13 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
python实现在一个画布上画多个子图
2020/01/19 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
游戏商店:Eneba
2020/04/25 全球购物
煤矿班组长的职责
2013/12/25 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
学期个人工作总结
2015/02/13 职场文书
新生儿未入户证明
2015/06/23 职场文书
《去年的树》教学反思
2016/02/18 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang