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实现ping的方法
Jul 06 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
12步教你理解Python装饰器
Feb 25 Python
基于Python实现对PDF文件的OCR识别
Aug 05 Python
python计算两个矩形框重合百分比的实例
Nov 07 Python
Python实现常见的回文字符串算法
Nov 14 Python
Python发展史及网络爬虫
Jun 19 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
Jul 24 Python
python递归下载文件夹下所有文件
Aug 31 Python
python使用html2text库实现从HTML转markdown的方法详解
Feb 21 Python
Python如何执行系统命令
Sep 23 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 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简单构造json多维数组的方法示例
2017/06/08 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
JavaScript 学习笔记(五)
2009/12/31 Javascript
JavaScript中常见陷阱小结
2010/04/27 Javascript
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
Vue数据双向绑定原理及简单实现方法
2018/05/18 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
小程序实现密码输入框
2020/11/16 Javascript
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
在线课程:Skillshare
2019/04/02 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
工程质量月活动方案
2014/02/19 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
幼儿园新年寄语
2014/04/03 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
Spring Boot实现文件上传下载
2022/08/14 Java/Android