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实现的多线程端口扫描功能示例
Jan 21 Python
详解python中asyncio模块
Mar 03 Python
Python callable()函数用法实例分析
Mar 17 Python
python 通过logging写入日志到文件和控制台的实例
Apr 28 Python
python 寻找list中最大元素对应的索引方法
Jun 28 Python
详解python异步编程之asyncio(百万并发)
Jul 07 Python
python与caffe改变通道顺序的方法
Aug 04 Python
Python字符串的全排列算法实例详解
Jan 07 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
Python简易计算器制作方法代码详解
Oct 31 Python
python多进程使用函数封装实例
May 02 Python
深入解析NumPy中的Broadcasting广播机制
May 30 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
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
PHP5.3新特性小结
2016/02/14 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
js原生实现FastClick事件的实例
2016/11/20 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
Python学习之asyncore模块用法实例教程
2014/09/29 Python
python中global用法实例分析
2015/04/30 Python
Python实现基本线性数据结构
2016/08/22 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
Python中的元组介绍
2019/01/28 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
python psutil监控进程实例
2019/12/17 Python
Python 在局部变量域中执行代码
2020/08/07 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
运动会通讯稿200字
2014/02/16 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
民生工作实施方案
2014/05/31 职场文书
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android