Python docx库删除复制paragraph及行高设置图片插入示例

目录
  • 引言
  • 1、复制paragraph
  • 2、删除paragraph
  • 3、插入图片和paragraph行高设置

引言

这两天做一个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库操作的资料请关注我们其它相关文章!

(0)

相关推荐

  • 详解用 python-docx 创建浮动图片

    相信大家对python-docx这个常用的操作docx文档的库都不陌生,它支持以内联形状(Inline Shape)的形式插入图片,即图片和文本之间没有重叠,遵循流动版式(flow layout).但是,截至最新的0.8.10版本,python-docx尚不支持插入浮动图片(floating picture).这显然不能满足丰富多彩的文档样式的需要,因此本文探究基于python-docx插入浮动图片--剖析xml.追踪源码,最后得到完整代码. 问题提出 作者在尝试实现PDF文档转docx(pdf

  • python-docx 页面设置详解

    目录 初识word文档-节-的概念 设置页边距 设置纸张方向和大小 设置分栏 总结 初识word文档-节-的概念 编辑一篇word文档,往往首先从页面设置开始,从下图可以看出,页面设置常操作的有页边距.纸张方向.纸张大小4个,而在word中是以节(section)来分大的块,每一节的页面设置可以不同.所以在python-docx中也是一样,当前节的各项属性全部保存在当前的section中,要想设置当前节的页面就从了解section的各个属性应用开始吧. 如果用python-docx新建一个空白文

  • Python-docx 实现整体修改或者部分修改文字的大小和字体类型

    Python中可以用docx来生成word文档,docx中可以自定义文字的大小和字体等. 其中要整体修改文字的字体大小和字体,可以用以下方法: newfile = docx.Document() newfile.styles['Normal'].font.name = 'Times New Roman' newfile.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体') 设置字体的两句一定要一起用才能起作用,其中 n

  • python 实现docx与doc文件的互相转换

    因文件格式要求,需要将docx 与doc文件相互转换,特寻找python代码,与大家共分享 from win32com import client #转换doc为docx def doc2docx(fn): word = client.Dispatch("Word.Application") # 打开word应用程序 #for file in files: doc = word.Documents.Open(fn) #打开word文件 doc.SaveAs("{}x"

  • 使用Python docx修改word关键词颜色的操作

    需求: 在刷word题库的时候,答案就在题目下方,干扰复习效果,将答案字体变成白色,查看答案的时候只需要将答案背景刷黑 转换需求: 在word中找到关键字"答案"将其后面的信息改变颜色为白色 由于第一次使用 import docx,最初想按照如上思想实现比较麻烦,后整理思路,将题库保存为txt,逐条读取转存入word,利用分割函数对关键字进行分割,关键字后面的信息即为答案改变颜色,效果和需求一致,只是新建了文件 实现代码: import os import re import docx

  • 教你使用Python根据模板批量生成docx文档

    一.需求说明 能够根据模板批量生成docx文档.具体而言,读取excel中的数据,然后使用python批量生成docx文档. 二.实验准备 准备excel数据: 这里是关于学生语数英成绩的统计表,文件名为score.xls 准备模板: 这是给学生家长的成绩通知书,文件名为template.doc 另外,在使用python进行实验之前,需要先安装第三方库docxtpl和xlrd,直接pip install就行: pip install docxtpl pip install xlrd 然后将xls

  • Python docx库删除复制paragraph及行高设置图片插入示例

    目录 引言 1.复制paragraph 2.删除paragraph 3.插入图片和paragraph行高设置 引言 这两天做一个python小工具,用到了docx库,涉及到paragraph的删除.,还有行高设置等技术,这里做一下记录. 1.复制paragraph 即用来原文档的加粗.斜体,下划线,颜色等属性的,官方没有提供paragraph的接口,只能自己实现: # paragraph 的 def get_para_data(output_doc_name, paragraph): "&quo

  • Python docx库用法示例分析

    本文实例分析了Python docx库用法.分享给大家供大家参考,具体如下: 打开及保存文件: from docx import Document document = Document('test.docx') document.save('test.docx') 添加文本: document.add_paragraph('test text') 调整文本位置格式为居中: from docx import Document from docx.enum.text import WD_ALIGN

  • Python docx库代码演示

    目录 Python docx库代码演示 主业务代码 测试代码(设置字体) 总结 Python docx库代码演示 安装 需要lxml pip install python-docx 主业务代码 from openpyxl import Workbook from openpyxl import load_workbook from docx import Document from docx.oxml.ns import qn from docx.shared import Pt,RGBColo

  • Python利用pywin32库实现将PPT导出为高清图片

    目录 一.安装库 二.代码原理 三.使用效果 四.所有代码 一.安装库 需要安装pywin32库 pip install pywin32 二.代码原理 WPS高清图片导出需要会员,就为了一个这个小需求开一个会员太亏了,因此就使用python对ppt进行高清图片导出. 设置format=19即可: ppt.SaveAs(imgs_path, 19) 三.使用效果 输入一个文件路径 path = 'D:\\自动化\\课件.pptx' 最后的效果: 会在路径下创建一个‘’课件‘’文件夹 里面是所有转换

  • Python爬虫实现抓取京东店铺信息及下载图片功能示例

    本文实例讲述了Python爬虫实现抓取京东店铺信息及下载图片功能.分享给大家供大家参考,具体如下: 这个是抓取信息的 from bs4 import BeautifulSoup import requests url = 'https://list.tmall.com/search_product.htm?q=%CB%AE%BA%F8+%C9%D5%CB%AE&type=p&vmarket=&spm=875.7931836%2FA.a2227oh.d100&from=mal

  • 详解python中docx库的安装过程

    python中docx库的简介 python-docx包,这是一个很强大的包,可以用来创建docx文档,包含段落.分页符.表格.图片.标题.样式等几乎所有的word文档中能常用的功能都包含了,这个包的主要功能便是用来创建文档,相对来说用来修改功能不是很强大.一般情况下在Anaconda中不自带,需另行下载. 导入docx的方法 我的实现方法是通过pip工具在线下载:首先打开cmd命令窗口,然后输入pip install python-docx,然后回车静等.最后命令行中出现Successfull

  • python 解压、复制、删除 文件的实例代码

    压缩复制删除文件基于python语言怎么操作呢,压缩文件有四种格式:zip.rar.tar.tar.gz,在压缩过程中也容易出现很多问题,今天小编通过代码给大家详解,具体内容如下所示: 一.python3解压文件 1.python 解压文件代码示例 如下代码主要实现zip.rar.tar.tar.gz四种格式的压缩文件的解压 def unzip_file(src_file, dst_dir=None, unzipped_files=None, del_flag=True): ""&qu

  • 仅用几行Python代码就能复制她的U盘文件?

    代码 # -*- coding:utf-8 -*- import os import time from datetime import datetime import shutil # U盘的盘符 usb_path = "E:/" # 要复制到的路径 save_path = "D:/haha" while (True):     if os.path.exists(usb_path):         shutil.copytree(usb_path, os.pa

  • python tkinter库的Text记录点击路经和删除记录详情

    目录 前言 对点击打开的文件路径进行记录显示 记录点击的文件路径和文件夹路径 记录文件路径,在text中显示,删除和关闭窗口 前言 需要注意,对实例化的文本组件的insert.delete等操作的index**都是浮点型而不是整型**,(1.0,2.0)表示的是对第一行操作,关闭窗口需要知道作用的对象是最根本的窗口,不是某个Frame. Text的几个主要设置参数: 第一个参数:窗体或框架变量 state:控制是否可以修改text的文字内容,normal,disable width,height

  • python 文件操作删除某行的实例

    使用continue跳过本次写循环就可以了 #文本内容 Yesterday when I was young 昨日当我年少轻狂 The tasting of life was sweet 生命的滋味是甜的 As rain upon my tongue tasting I lived by night and shunned the naked light of day tasting123 And only now I see how the time ran away tasting tast

随机推荐