python-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')

你可能感兴趣的:(python)