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环境变量设置方法
Aug 28 Python
Python删除Java源文件中全部注释的实现方法
Aug 30 Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 Python
Flask框架Flask-Login用法分析
Jul 23 Python
对python实时得到鼠标位置的示例讲解
Oct 14 Python
django框架之cookie/session的使用示例(小结)
Oct 15 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
Django框架实现的简单分页功能示例
Dec 04 Python
TensorFlow实现批量归一化操作的示例
Apr 22 Python
Python基于Socket实现简易多人聊天室的示例代码
Nov 29 Python
使用Python下载抖音各大V视频的思路详解
Feb 06 Python
关于python爬虫应用urllib库作用分析
Sep 04 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 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
功能强大的php文件上传类
2016/08/29 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
vue cli 全面解析
2018/02/28 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
python实现复制文件到指定目录
2019/10/16 Python
python实现KNN近邻算法
2020/12/30 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
工商管理毕业生推荐信
2013/12/24 职场文书
违纪检讨书2000字
2014/02/08 职场文书
业务内勤岗位职责
2014/04/30 职场文书
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
推广活动策划方案
2014/08/23 职场文书
在职证明范本
2015/06/15 职场文书
课程设计感想范文
2015/08/11 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android