作用:Microsoft Word 的各种处理
Python 的 python-docx
库用于创建、修改和提取Microsoft Word文档(.docx格式)。它允许用户添加和编辑文本、设置字体和段落属性、插入图片、表格和页眉页脚。python-docx
支持读取和写入.docx文件,无需Microsoft Word,便于开发自动化文档处理、报告生成和文档内容分析等应用。这个库在自动化办公、文档管理和数据转换领域非常有用。
pip install python-docx
可以看见不仅仅安装了python-docx-1.1.2 还安装了lxml-5.3.0 typing-extensions-4.12.2
包名 | 包中文名 | 释义 | 连接 |
---|---|---|---|
lxml-5.3.0 | / | lxml是一个高性能的Python库,用于解析XML和HTML文档。它提供了快速、易于使用的接口,支持XPath和XSLT。 | / |
typing-extensions-4.12.2 | / | typing-extensions是Python的扩展模块,提供额外的类型提示工具,支持向后兼容。 | / |
import docx
doc = docx.Document()
doc.add_paragraph("This is a test file.")
doc.save("testfile.docx")
from docx import Document
from docx.shared import Inches#英寸
from docx.shared import Pt#大小
from docx.shared import RGBColor#颜色
from docx.oxml.ns import qn#中文
doc = Document()#实例化
# 全文设置
# Normal指的是正文部分,还有很多其他选项如标题、表格、列表等,可遍历doc.styles进行查看
# 设置正文颜色,大小,粗体
doc.styles['Normal'].font.color.rgb = RGBColor(0, 0, 255)
doc.styles['Normal'].font.size = Pt(12)
doc.styles['Normal'].font.bold = True
# 设置全文字体
doc.styles['Normal'].font.name = u'宋体'
# 对于中文字体必须加这一句
doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
# 添加标题,0,1,2...表示标题号大到小
doc.add_heading('title1', 0)
# 段落设置
# 添加段落p1
p1 = doc.add_paragraph(u'两名老者是武当宋远桥,张松溪,中年夫妇是殷梨亭、杨不悔夫妇')
# p1.paragraph_format段落格式,有多个项目可以设置,包括缩进,对齐,行距等
# 参考:https://python-docx.readthedocs.io/en/latest/api/text.html#docx.text.parfmt.ParagraphFormat
# 首行缩进0.5英寸
p1.paragraph_format.first_line_indent = Inches(0.5)
# 这个方法会修改所有段落,而不单单是p1段落,和doc.styles['Normal'].font.color.rgb作用一样,不用!
# p1.style.font.color.rgb = RGBColor(0, 255, 0)
# 插入一个分页符
doc.add_page_break()
# 再添加个段落p2
p2 = doc.add_paragraph('abcde')
# 往p2添加新的文字,并设置字体,可进行多种格式设置
run = p2.add_run(u'添加的文字')
run.font.size = Pt(24)
run.italic = True
# 继续添加文字,在添加文字时直接设置字体,此方法只能进行一种格式设置
p2.add_run(u'取消粗体').bold = False
p2.add_run(u'设置斜体').italic = True
p2.add_run(u'字体再大点').font.size = Pt(36)
# 插入一个分页符
doc.add_page_break()
# 添加一段落,设置为红色文字,9px,斜体,楷体,非粗体,缩进18px
# 用add_paragraph('XXXXX')先添加文字后,再修改已添加的文字格式比较困难
# 可以先用add_paragraph()添加个空段落,然后使用add_run()添加文字,通过run对象进行格式设置
p3 = doc.add_paragraph()
run = p3.add_run(u'添加一段落,设置为红色文字,9px,斜体,楷体,非粗体,缩进18px')
run.font.size = Pt(9)
run.font.color.rgb = RGBColor(255, 0, 0)
run.font.name = u'楷体'
run._element.rPr.rFonts.set(qn('w:eastAsia'), u'楷体')
run.italic = True
run.bold = False
p3.paragraph_format.first_line_indent = Pt(18)
# 保存文档
doc.save('python-docx.docx')
————————————————
版权声明:本文为CSDN博主「McJevons」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jewely/article/details/83387940