Python自动化 Word样式处理

本小节继续上节:https://www.cnblogs.com/Crown-V/articles/16747350.html

本章代码:

#导入模块
#首先导入文本对象模块
from docx import Document
from docx.shared import Pt,RGBColor  #导入磅的单位,颜色
from docx.enum.style import WD_STYLE_TYPE  #导入样式

#1.创建一个文档对象
document = Document() #新建文档对象
#Document("xx.docx") 读取现有的word建立的文本对象

#2.写入内容(文本、图像)
#=============================样式===================
'''
样式分为:行为属性和格式属性
格式样式可分为:内置样式和自定义样式
'''
#文档样式添加 第一个参数随便起名(ID) 第二个参数是类型样式
style = document.styles.add_style('textstyle',WD_STYLE_TYPE.PARAGRAPH)
print(style.style_id)  #输出id
print(style.name)      #输出样式名字
style.font.size = Pt(5)  #样式字体大小
#删除样式
document.styles['textstyle'].delete()  #删除自定义样式


#写入标题
document.add_heading("科技V领",level=4)  #添加标题,level为0-9设置标题级别 
#写入内容
P1 = document.add_paragraph('明星,(拼音míng xīng,注音ㄇㄧㄥˊ ㄒㄧㄥ\
    )汉语词语,古书上指金星;旧时指交际场中有名的女子;现指在某个\
    领域内有一定影响力的人物。泛指有名的演员、歌手、艺人、运动员等。',style='textstyle')  #应用textstyle样式
#在段落之前写些内容
P1.insert_paragraph_before('!!在段落之前插入的内容')

#设置段落的格式
format = P1.paragraph_format #创建P1段落的格式对象
#左右缩进
format.left_indent = Pt(20)  #左侧缩进20磅
format.right_indent = Pt(20) #右侧缩进20磅
#首行缩进
format.first_line_indent = Pt(20)
#行间距
format.line_spacing=1.5
#文本内容追加
run = P1.add_run("追加内容")
#设置run中字体和字号、文字颜色等
##字体大小
run.font.size =Pt(12)
run.font.name = '微软雅黑'
run.font.color.rgb = RGBColor(242,4,4)
#追加
run1 = P1.add_run("追加内容1")
##加粗、下划线、斜体
run1.bold = True
run1.font.underline =True
run1.font.italic = True

#插入文图片
document.add_picture('mm.bmp',Pt(30),Pt(30))
#插入表格
table = document.add_table(rows=1,cols=3,style='Medium List 1') #1行3列,内置样式
#表格头
header_cells = table.rows[0].cells
header_cells[0].text = '月份'
header_cells[1].text = '预期销售额'
header_cells[2].text = '实际销售额'

#获取word中的表格
print(len(document.tables[0].rows)) #打印表格的总行数
print(len(document.tables[0].columns)) #打印表格的总列数
#获取表格的单元格
print(document.tables[0].cell(0,2).text)  #获取单元格的内容


#3.保存文档
document.save("info.docx")
View Code

导入样式

from docx.enum.style import WD_STYLE_TYPE  #导入样式

写样式与删除样式

#=============================样式===================
'''
样式分为:行为属性和格式属性
格式样式可分为:内置样式和自定义样式
'''
#文档样式添加 第一个参数随便起名(ID) 第二个参数是类型样式
style = document.styles.add_style('textstyle',WD_STYLE_TYPE.PARAGRAPH)
print(style.style_id)  #输出id
print(style.name)      #输出样式名字
style.font.size = Pt(5)  #样式字体大小
#删除样式
document.styles['textstyle'].delete()  #删除自定义样式

创建添加文本样式使用document.styles.add_style()方法,第一个参数是随便起的ID,相当于句柄也就是对象,后面参数使用WD_STYLE_TYPE.PARAGRAPH说明是设置段落样式,对样式中的字体大小进行修改,使用对象名.font.size 设置,如果要删除样式使用document.style['textstyle']查找到自定义,然后用delete()方法删除

posted @ 2022-10-01 17:01  Crown-V  阅读(285)  评论(0)    收藏  举报