python操作word文档python-docx
目录
python操作word文档——python-docx
一、安装
1.python-docx pypi
2.安装
pip install python-docx
pip install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple
二、官网
1.点击 Homepage
2.快速入门
①打开、保存
from docx import Document
document = Document()
document.save('demo.docx')
②添加段落
document.add_paragraph('这是一段文字')
③ 添加图片
document.add_picture('1.jpg')
设置尺寸
from docx.shared import Inches
document.add_picture('image-filename.png', width=Inches(1.0))
④分页
document.add_page_break()
三、其他格式设置
from docx import Document
from docx.shared import Pt # 设置像素、缩进等
from docx.shared import RGBColor # 设置字体颜色
from docx.oxml.ns import qn
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
document = Document()
a = document.add_paragraph(' 这是一段文字') # 俩空格“ ”
# a.runs[0].font.bold = True #设置加粗
# a.runs[0].font.italic = True#设置斜体
# a.runs[0].font.underline = True#设置下划线
# a.runs[0].font.strike = True #设置删除线
# a.runs[0].font.shadow = True #设置文字阴影
# a.runs[0].font.size = Pt(18) #设置字号
# a.runs[0].font.color.rgb = RGBColor(255,0,255)#设置字体颜色
a.runs[0].font.name = "微软雅黑" # 设置字体 必写行1
r = a.runs[0]._element.rPr.rFonts # 设置字体 必写行2
r.set(qn("w:eastAsia"), "微软雅黑") # 设置字体 必写行3
a.paragraph_format.line_spacing = Pt(25) # 设置行高
# 设置文字在这一行的纵向位置,通常设置段后为0,和行号,来调整行间距
# a.paragraph_format.space_before = Pt(0) # 段前
a.paragraph_format.space_after = Pt(0) # 段后
# a.paragraph_format.left_indent = Pt(20)#左缩进
# a.paragraph_format.right_indent = Pt(20)#右缩进
a.paragraph_format.first_line_indent = Pt(20) # 首行缩进
'''
LEFT 左对齐
CENTER 居中
RIGHT 右对齐
JUSTIFY 自由调整
DISTRIBUTE 占满整个段落的宽度
JUSTIFY_MED 以中等字符压缩比调整
JUSTIFY_HI 具有高字符压缩比
JUSTIFY_LOW 以较低的字符压缩比进行调整
THAI_JUSTIFY 根据泰语格式布局对齐
'''
# a.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
document.save('demo1.docx')
四、案例
from docx import Document
from docx.shared import Pt # 设置像素、缩进等
from docx.shared import RGBColor # 设置字体颜色
from docx.oxml.ns import qn
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
def setStyle_zong_title1(a):
a.runs[0].font.name = "宋体" # 设置字体 必写行1
r = a.runs[0]._element.rPr.rFonts # 设置字体 必写行2
r.set(qn("w:eastAsia"), "宋体") # 设置字体 必写行3
a.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER # 设置居中
a.runs[0].font.size = Pt(18) # 设置字号
a.paragraph_format.space_after = Pt(0)
def setStyle_duan_title1(a):
a.runs[0].font.name = "宋体" # 设置字体 必写行1
r = a.runs[0]._element.rPr.rFonts # 设置字体 必写行2
r.set(qn("w:eastAsia"), "宋体") # 设置字体 必写行3
a.runs[0].font.size = Pt(14) # 设置字号
a.paragraph_format.space_after = Pt(0) # 断后
def setStyle_duan_message1(a):
a.runs[0].font.name = "宋体" # 设置字体 必写行1
r = a.runs[0]._element.rPr.rFonts # 设置字体 必写行2
r.set(qn("w:eastAsia"), "宋体") # 设置字体 必写行3
a.runs[0].font.size = Pt(10) # 设置字号
a.paragraph_format.space_after = Pt(0) # 断后
a.paragraph_format.first_line_indent = Pt(20) # 首行做进
if __name__ == '__main__':
document = Document()
a = document.add_paragraph('这是标题')
setStyle_zong_title1(a)
a = document.add_paragraph('一、这是标题')
setStyle_duan_title1(a)
a = document.add_paragraph('这是内容')
setStyle_duan_message1(a)
document.save('demo1.docx')