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 相关文章推荐
Python3 入门教程 简单但比较不错
Nov 29 Python
简单介绍Python中的filter和lambda函数的使用
Apr 07 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
Jun 14 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
Numpy 多维数据数组的实现
Jun 18 Python
详解Python的爬虫框架 Scrapy
Aug 03 Python
Python 在局部变量域中执行代码
Aug 07 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中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
修改发贴的编辑功能
2007/03/07 Javascript
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
解决python2.7 查询mysql时出现中文乱码
2016/10/09 Python
Python连接数据库学习之DB-API详解
2017/02/07 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
python遍历小写英文字母的方法
2019/01/02 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
python enumerate内置函数用法总结
2020/01/07 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
东方电视购物:东方CJ
2016/10/12 全球购物
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
冰淇淋店创业计划书范文
2013/12/27 职场文书
致跳远、跳高运动员广播稿
2014/01/09 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
2015秋季新学期开学寄语
2015/05/28 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python