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中如何使用朴素贝叶斯算法
Apr 06 Python
python定向爬取淘宝商品价格
Feb 27 Python
python之DataFrame实现excel合并单元格
Feb 22 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
python numpy数组的索引和切片的操作方法
Oct 20 Python
Python datetime包函数简单介绍
Aug 28 Python
Python二次规划和线性规划使用实例
Dec 09 Python
python global和nonlocal用法解析
Feb 03 Python
python如何求数组连续最大和的示例代码
Feb 04 Python
python微信公众号开发简单流程实现
Mar 09 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
接口自动化多层嵌套json数据处理代码实例
Nov 20 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
实用函数3
2007/11/08 PHP
joomla内置的表单验证功能使用方法
2010/06/11 PHP
php二维数组转成字符串示例
2014/02/17 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
php实现的简单中文验证码功能示例
2017/01/03 PHP
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
常用jQuery代码分享
2015/07/14 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
python多线程http压力测试脚本
2019/06/25 Python
python实现银行管理系统
2019/10/25 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
python退出循环的方法
2020/06/18 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
Europcar意大利:汽车租赁
2019/07/07 全球购物
应届毕业生应聘自荐信
2013/12/07 职场文书
财政局长自荐信范文
2013/12/22 职场文书
大学班长的职责
2014/01/27 职场文书
垃圾桶标语
2014/06/24 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
孙振耀退休感言
2015/08/01 职场文书
教师节感想
2015/08/11 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
python 实现的截屏工具
2021/05/08 Python