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 相关文章推荐
使用C语言扩展Python程序的简单入门指引
Apr 14 Python
python3实现域名查询和whois查询功能
Jun 21 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 Python
Python 实现微信防撤回功能
Apr 29 Python
python实现ip代理池功能示例
Jul 05 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
Jan 10 Python
谈谈python垃圾回收机制
Sep 27 Python
浅析Python requests 模块
Oct 09 Python
Jupyter安装链接aconda实现过程图解
Nov 02 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循环获取GET和POST值的代码
2008/04/09 PHP
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
Javascript实现base64的加密解密方法示例
2017/06/27 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
python类参数self使用示例
2014/02/17 Python
python实现维吉尼亚算法
2019/03/20 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
Python2与Python3的区别点整理
2019/12/12 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
shell的种类有哪些
2015/04/15 面试题
Servlet面试题库
2015/07/18 面试题
公司股权转让协议书
2014/04/12 职场文书
预备党员转正思想汇报
2014/09/26 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
员工安全责任协议书
2016/03/22 职场文书
靠谱的活动总结
2019/04/16 职场文书
辞职信怎么写?
2019/05/21 职场文书