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 相关文章推荐
Pyramid添加Middleware的方法实例
Nov 27 Python
Python中变量交换的例子
Aug 25 Python
Python中的ctime()方法使用教程
May 22 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
详解python3中的真值测试
Aug 13 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
Python实现把类当做字典来访问
Dec 16 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
python 无损批量压缩图片(支持保留图片信息)的示例
Sep 22 Python
Django框架实现在线考试系统的示例代码
Nov 30 Python
OpenCV中resize函数插值算法的实现过程(五种)
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
一个PHP操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
php getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
jQuery 开天辟地入门篇一
2009/12/09 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
js querySelector() 使用方法
2016/12/21 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
Vue模板语法中数据绑定的实例代码
2019/05/17 Javascript
node+vue实现文件上传功能
2020/05/28 Javascript
Javascript前端下载后台传来的文件流代码实例
2020/08/18 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
python笔记:mysql、redis操作方法
2017/06/28 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
scrapy头部修改的方法详解
2020/12/06 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
QA工程师岗位职责
2013/11/20 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
初中家长评语和期望
2014/12/26 职场文书
个园导游词
2015/02/04 职场文书
手残删除python之后的补救方法
2021/06/26 Python
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript