python操作word文档——python-docx

一、安装

1.python-docx pypi

python-docx · PyPI

2.安装

pip install python-docx
pip install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple

 二、官网

1.点击 Homepage

https://github.com/python-openxml/python-docx

 

python-docx — python-docx 0.8.11 documentation

2.快速入门

Quickstart — python-docx 0.8.11 documentation

①打开、保存

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值