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 相关文章推荐
用Python制作在地图上模拟瘟疫扩散的Gif图
Mar 31 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
Jun 16 Python
python 定义给定初值或长度的list方法
Jun 23 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 Python
python去掉 unicode 字符串前面的u方法
Oct 21 Python
CentOS7安装Python3的教程详解
Apr 10 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
Jun 18 Python
使用python实现画AR模型时序图
Nov 20 Python
python计算无向图节点度的实例代码
Nov 22 Python
Tensorflow训练MNIST手写数字识别模型
Feb 13 Python
python实现图像全景拼接
Mar 27 Python
python3检查字典传入函数键是否齐全的实例
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
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
PHP5常用函数列表(分享)
2013/06/07 PHP
php获取apk包信息的方法
2014/08/15 PHP
php简单分页类实现方法
2015/02/26 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
python自带的http模块详解
2016/11/06 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
Python ORM编程基础示例
2020/02/02 Python
python内打印变量之%和f的实例
2020/02/19 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
英国领先的独立酒精饮料零售商:DrinkSupermarket
2021/01/13 全球购物
JPA面试常见问题
2016/11/14 面试题
文化活动实施方案
2014/03/28 职场文书
宪法宣传标语100条
2019/10/15 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers