Python全局样式和文本样式的定义是什么
Admin 2022-11-11 群英技术资讯 300 次浏览
通过全局样式的设置,可以使得 word 全文都可以继承这样的样式效果:
使用方法:
style = document_obj.styles['Normal']
通过 Document 对象调用 styles 对象集,通过中括号的方式选择全局样式,获得 样式对象 。
for style in document_obj.styles: # 通过 for 循环可以查看 styles 对象集 print(style)
styles 对象集如下:
全局定义的基本样式举例:
字体:style.font.name = '微软雅黑'
字体颜色:style.font.color.rgb = RGBColor(255, 0, 0)
通过 from docx.shared import RGBColor
调用 docx 包的三原色模块
字体大小:style.font.size = Pt(20)
通过 from docx.shared import Pt
调用 docx 包的字体大小设置模块
代码示例如下:(在上一章节的代码基础上进行 全局样式的代码演示)
# coding:utf-8 from docx import Document from docx.shared import Inches, RGBColor, Pt doc = Document() style = doc.styles['Normal'] # 使用标准样式 style.font.name = '微软雅黑' # 使用 "微软雅黑" 字体 style.font.color.rgb = RGBColor(255, 0, 0) # 使用红色作为字体颜色 style.font.size = Pt(25) title = doc.add_heading('this is title', 1) # 添加 word 文件的 title 标题 title.add_run('\n - 测试版本') # 针对 title 标题进行内容追加(换行) 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 = ['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')
运行结果如下:
标题与段落
从上面的截图可以看出,当我们设置全局字体的颜色和大小的时候,只有段落收到了影响,而标题未受影响,这就引出了文本的样式。
字体:
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-8 from 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')
运行结果如下:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了如何利用Python实现层次性数据和闭包性质,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以了解一下
这篇文章主要介绍了python 实现图与图之间的间距调整subplots_adjust,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
本篇文章给大家带来了关于Python的相关知识,其中主要整理了编码规范的相关问题,想要写好python代码,必须了解python相关编码规范,有了这个的加持,编写的代码不仅可以实现相应的
使用matplotlib生成gif动画的方法相信大家应该都看到过,下面这篇文章主要给大家介绍了关于Python matplotlib包和gif包生成gif动画对比的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
这篇文章介绍了使用Django框架创建项目的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008