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系列之数据处理编程实例(二)
May 22 Python
go语言计算两个时间的时间差方法
Mar 13 Python
Python的Flask框架的简介和安装方法
Nov 13 Python
Python构建网页爬虫原理分析
Dec 19 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 Python
Windows下PyCharm安装图文教程
Aug 27 Python
Python3 jupyter notebook 服务器搭建过程
Nov 30 Python
python实现二维插值的三维显示
Dec 17 Python
python把1变成01的步骤总结
Feb 27 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
Python基于进程池实现多进程过程解析
Apr 30 Python
在pycharm中创建django项目的示例代码
May 28 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 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
Yii实现简单分页的方法
2016/04/29 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
javascript折半查找详解
2015/01/26 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
Python性能优化技巧
2015/03/09 Python
Python如何读取MySQL数据库表数据
2017/03/11 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
python help函数实例用法
2020/12/06 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
经济与贸易专业应届生求职信
2013/11/19 职场文书
户籍证明的格式
2014/01/13 职场文书
社团活动总结报告
2014/06/27 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
购房委托书
2014/10/15 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
MySQL如何使备份得数据保持一致
2022/05/02 MySQL