即用来复制原文档的加粗、斜体,下划线,颜色等属性的,官方没有提供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))
from docx import Document from docx .oxml.ns import qn from docx .shared import Pt,RGBColor 如果不进行字体手动 设置 的话,生成的文字字体格式就会千奇百怪,如下图 Doc = Document() Doc.add_heading("刚来csdn,这就是博客么,I了") Doc.add_ paragraph (" Python ") Doc.add_ paragraph (" Python 对word进行 操作 ") Doc.save(" Python _word. docx ") 可以看到自动配置的字体不是我们平
使用 python-docx 编辑一个 docx 文档时, 对添加的方法使用很多, 但有时候也会用到 删除 和修改 python-docx 中并没有提供delete()方法, github上给出了解决方法: https://github.com/ python -openxml/ python-docx /issues/33 def delete_ paragraph ( paragraph ): p = paragraph ._element p.getparent().remove(p) # p._p
首先,需要使用 python-docx 库来读取和 操作 word 文档。具体实现方法如下: 安装 python-docx 库:在终端中运行 pip install python-docx 安装。 导入库:在代码中使用 import docx 导入库。 读取源文档并获取要 复制 的页面:使用 docx .Document() 创建一个文档对象,然后使用 document.add_ paragraph (...
python 删除 word文档中的空白页,可以使用 python-docx 库中的Document.remove_page()方法,代码如下:from docx import Documentdoc = Document('my_word_document. docx ')for page in doc.page_margins: doc.remove_page(page)doc.save('m...
def copy_ paragraph (source_doc, target_doc, paragraph _index): source_ paragraph = source_doc. paragraph s[ paragraph _index] target_doc.add_ paragraph (source_ paragraph .text, source_ paragraph .style) # 示例用法 source_doc = Document('source. docx ') # 替换成你的源文档路径 target_doc = Document() # 复制 第一个段落到目标文档 copy_ paragraph (source_doc, target_doc, 0) # 保存目标文档 target_doc.save('target. docx ') 这段代码使用了 python-docx 库,首先打开源文档和目标文档,然后通过`copy_ paragraph `函数 复制 指定索引的段落内容和样式到目标文档中。你可以根据自己的需求修改或扩展这段代码。