Python |Python-word文档标题与页眉的添加

发布于 2021-04-29 07:32

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

引言

在日常生活里,不管是办公、学习还是制作邀请函、请柬、简历等等,我们都会使用一个软件Microsoft Office WordOffice Word是微软公司的一个收费文字处理应用程序,是最流行的文字处理程序之一,它虽功能强大,但简学易懂,但同时也有一个缺点,当一个Word文档储存的内容特别庞大的时候,使用者想要提取自己想要的表格内容,非常困难,需要使用特别多的步骤,非常繁琐,但是今天python能够解决其中的困难,是其变得非常简便。


问题描述

既然通过python提取word文档内容,这里需要了解一个python第三方库---python-docx库,docx库的基本用法详细查看官方文档: https://python-docx.readthedocs.org/en/latest/

在这里将要学习到的便是提取表格内容的具体步骤。

python-docx库的下载(Windows):pip install python-docx

python-docx模块是处理word的利器,希望通过调用模块生成预定格式的文件,word本身自带的模板使用不太方便,而日常学习,工作中特别是针对毕业论文来说对文档格式要求非常高,小编在此就通过对python-docx中标题与其页眉的添加学习,向大家分享。


算法描述

抓住运用的docx第三方库有以下:

Document - 负责打开以及建立word文档

WD_PARAGRAPH_ALIGNMENT - 负责文字对齐

Pt - 负责word文档文字的大小磅数

Qn - 负责文字的中文格式

具体代码如下:

from docx import Document   #功能是打开文档

from docx.enum.text import WD_PARAGRAPH_ALIGNMENT  # 功能是对齐

from docx.enum.section import WD_ORIENTATION

from docx.shared import Pt #设置磅数

from docx.oxml.ns import qn  #负责中文格式  以上是每次使用word要使用的库

 

document = Document()   #初始化文档

#标题

P1 = document.add_paragraph()  # 增加一个自然段

P1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 对其方式为居中,不设置默认左对齐

#间距

P1.paragraph_format.space_before = Pt(24) #段前

P1.paragraph_format.space_after = Pt(18) #段后

P1.paragraph_format.line_spacing=Pt(23) #行距

P1_name='绪论' #设置标题标题

run1 = P1.add_run(P1_name)  # 增加自然段的内容

run1.font.name = '黑体'  # 设置自然段的字体

run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'黑体')  # 为显示中文正确

run1.font.size = Pt(22)  # 设置中文字体磅数

 

#页眉

section = document.sections[0]

header = section.header

header.add_paragraph(P1_name).alignment=WD_PARAGRAPH_ALIGNMENT.CENTER

#页眉的对齐方式与标题对齐方式一致

 

运行效果:

 


 

结语

本篇文章针对解决word各类标题的加入以及页眉的添加,刚接触python-docx,看了几天视频和文档内容,照猫画虎结果算是出来了结果,肯定还有更好的方法,后期继续研究,做到流水线式的添加,并且页眉的添加可以去尝试根据标题和节添加相应的页眉。存在的问题:字体设置感觉不太合适,页眉的添加,其字体格式大小与其格式不太对。

 



实习编辑:李欣容

稿件来源:深度学习与文旅应用实验室(DLETA)