python word格式编辑,
本文主要介绍如何使用Python设置Word内容的各种样式,使其看起来更加美观。本文中的示例代码解释的很详细,有需要的可以参考一下。
00-1010全局样式的定义文本样式的定义在上一章中,我们学习了如何生成word文档并向文档行添加各种内容。今天,我们在前一章的内容基础上,为内容设置不同的样式,使它们看起来更漂亮。
目录
通过设置全局样式,word的整个文本都可以继承这种样式效果:
用法:
style=document _ obj . styles[ Normal ]
通过Document对象调用styles对象集,通过括号选择全局样式,得到style对象。
对于document _ obj.styles: #中的样式,可以通过For循环查看样式对象的集合。
打印(样式)
样式对象设置如下:
全局定义的基本样式示例:
字体:style . font . name=微软雅黑
字体颜色:style . font . color . RGB=RGB color(255,0,0)
通过fromdocx.shareimportrgbcolor调用docx包的三原色模块。
字体大小:
通过fromdocx.shared导入pt调用docx包的字体大小设置模块。
代码示例如下:(基于上一章的代码,进行全局样式代码演示)
#编码:utf-8
从docx导入文档
从docx.shared导入英寸,RGBColor,Pt
doc=Document()
style=doc . style[ Normal ]#使用标准样式
style . font . name= Microsoft Yahei #使用 Microsoft Yahei 字体
style . font . color . RGB=RGB color(255,0,0) #使用红色作为字体颜色
style.font.size=Pt(25)
title=doc . Add _ heading( this is title ,1) #添加word文件的标题标题
Title.add_run(\n-beta) #将内容追加(换行)到标题
Para=doc.add_paragraph(这是 test.docx 文件的第一段)
para . add _ run( \ n这是附加到 test.docx 文件的第二个段落)
image=doc . Add _ picture( test _ image . png ,width=inches (3),height=inches (1.5)) #添加图片
Table _ title=[姓名,年龄,性别] #定义表格第一行的标题
Table=doc.add _ table (rows=1,cols=3) #定义表格的行数和列数。
Table _ cells=table.rows [0]。cells #将table_title的每一列的名称写入表中
表格_单元格[0]。text=table_title[0]
表格_单元格[1]。text=table_title[1]
表格_单元格[2]。text=table_title[2]
Data=[#定义数据的内容,准备追加到表中。
( Neo , 18 , man ),
(阿德姆, 17 ,人),
(“百合”,“18”,“女人”)
]
For i in data: #使用For循环将数据追加到表中
row_cells=表格
.add_row().cells
row_cells[0].text = i[0]
row_cells[1].text = i[1]
row_cells[2].text = i[2]
doc.add_page_break() # 添加 word 文件的分页
title = doc.add_heading(this is page_2 title, 1) # 添加 word 文件的第二分页的 title 标题
doc.save(test.docx)
运行结果如下:
文本样式的定义
标题与段落
从上面的截图可以看出,当我们设置全局字体的颜色和大小的时候,只有段落收到了影响,而标题未受影响,这就引出了文本的样式。
字体:
obj.font.name = "微软雅黑"
这里的 obj
就表示的是 标题与段落的对象
;与设置全局字体的方式一致。
字体颜色:
obj.font.color.rgb = RGBColor(255, 0, 0)
字体大小:
obj.font.size = Pt(20)
标题居中:
obj.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
需要导入:from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
PS:除了居中之外,还可以居左、居右;left 或者 right
字体斜体:
obj.italic = True
为 True 是斜体;为 False 则是正常字体
字体粗体:
obj.blod = True
为 True 是粗体;为 False 则是正常字体
字体下划线:
obj.underline = True
为 True 是增加下划线;为 False 则是正常字体
代码示例如下:
# coding:utf-8from docx import Document
from docx.shared import Inches, RGBColor, Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
doc = Document()
style = doc.styles[Normal] # 使用标准样式
style.font.name = 微软雅黑 # 使用 "微软雅黑" 字体
# style.font.color.rgb = RGBColor(255, 0, 0) # 使用红色作为字体颜色
style.font.size = Pt(14)
title = doc.add_heading(, 0) # 添加 word 文件的 title 标题;(需要注意的是,这里第一行的标题是不能设置为斜体等类型的)
# 若想要将标题设置为斜体,需在这一行标题内容为空,然后针对追加内容写入标题设置为斜体
title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 标题居中
title.style.font.size = Pt(20)
title_run = title.add_run(this is title\n测试版本) # 针对 title 标题进行内容追加(换行)
title_run.italic = True # 将追加的内容转为斜体字
title_run.blod = True # 将追加的内容转为粗体字
title_run.underline = True
# print(dir(title)) # 通过 dir 函数查看当前 title 标题可以使用的更多有趣的函数
para = doc.add_paragraph(这是 \"test.docx\" 文件的第一行段落)
para.add_run(\n这是 \"test.docx\" 文件追加的的第二行段落).italic = True # 将第二行段落设置为斜体
para.add_run(\n这是 \"test.docx\" 文件追加的的第三行段落).blod = True # 将第三行段落设置为粗体
para.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 将段落设置为居中显示
print(dir(para)) # 通过 dir 函数查看当前 para 段落可以使用的更多有趣的函数
image = doc.add_picture(test_image.png, width=Inches(3), height=Inches(1.5)) # 添加图片
table_title = [name, age, sex] # 定义表格的第一行的标题
table = doc.add_table(rows=1, cols=3) # 定义表格的行数、列数
table_cells = table.rows[0].cells # 将 table_title 的每列的名称写入表格
table_cells[0].text = table_title[0]
table_cells[1].text = table_title[1]
table_cells[2].text = table_title[2]
data = [ # 定义 data 的内容,准备将其追加写入表格
(Neo, 18, man),
(Adem, 17, man),
(Lily, 18, women)
]
for i in data: # 利用 for 循环将 data 追加写入表格
row_cells = table.add_row().cells
row_cells[0].text = i[0]
row_cells[1].text = i[1]
row_cells[2].text = i[2]
doc.add_page_break() # 添加 word 文件的分页
title = doc.add_heading(this is page_2 title, 1) # 添加 word 文件的第二分页的 title 标题
doc.save(test.docx)
运行结果如下:
到此这篇关于Python设置Word全局样式和文本样式的示例代码的文章就介绍到这了,更多相关Python Word样式内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。