Python办公自动化—python-docx知识点梳理(word文档篇)+实战代码

专栏导读

在这里插入图片描述

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

库的介绍

  • python-docx 是一个用于创建、更新Microsoft Word(.docx)文件的Python库。你可以使用这个库来操作Word文档,如添加文本、表格、图片、样式等。

库的安装

pip install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • 下面是常见的用法

1、创建空白文档+保存

from docx import Document
from docx.shared import Inches
from docx.oxml.ns import qn
from docx.shared import Pt,RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH

doc = Document()


doc.save("江雪.docx")

2、设置全文字体样式、大小

# 设置文档中"Normal"样式的字体名称为"Times New Roman"
normal = doc.styles["Normal"]
normal.font.name = "Times New Roman"
# 设置文档中"Normal"样式的字体名称为"Times New Roman"
normal._element.rPr.rFonts.set(qn("w:eastAsia"),"楷体")
# 设置文档中"Normal"样式的字体大小为15磅
normal.font.size = Pt(15)

3、添加标题

3-1:添加标题

# 添加标题
heading = doc.add_heading("",level=2)

3-2:标题居中

# 设置标题居中
heading.alignment = WD_ALIGN_PARAGRAPH.CENTER

3-3:设置字体

# 设置标题字体
head_run = heading.add_run("江雪")
head_run.font.name = "Times New Roman"
head_run._element.rPr.rFonts.set(qn("w:eastAsia"),"楷体")

3-4:修改颜色

# 颜色为红色
head_run.font.color.rgb = RGBColor(255,0,0)

3-5:字体加粗

head_run.font.bold = True

3-6:修改字号

head_run.font.size = Pt(28)
# 添加标题
heading = doc.add_heading("",level=2)
# 设置标题居中
heading.alignment = WD_ALIGN_PARAGRAPH.CENTER
# 设置标题字体
head_run = heading.add_run("江雪")
head_run.font.name = "Times New Roman"
head_run._element.rPr.rFonts.set(qn("w:eastAsia"),"楷体")
# 颜色为红色
head_run.font.color.rgb = RGBColor(255,0,0)
head_run.font.bold = True
head_run.font.size = Pt(28)

4、添加段落

4-1:添加run

  • 这个run就像段落中的一个文本框

p1 = doc.add_paragraph()
p1_run = p1.add_run("唐代:柳宗元")
p1_run.bold = True # 加粗
p1.alignment =  WD_ALIGN_PARAGRAPH.CENTER # 居中

5、段落字体颜色

5-1:段落字体颜色

p2_run.font.color.rgb = RGBColor(255,0,0)

5-2:段落居中

p2.alignment =  WD_ALIGN_PARAGRAPH.CENTER
p2 = doc.add_paragraph()
p2_run = p2.add_run("千山鸟飞绝,万径人踪灭")
# p2_run.bold = True
p2_run.font.color.rgb = RGBColor(255,0,0)
p2.alignment =  WD_ALIGN_PARAGRAPH.CENTER

6、添加图片

6-1:添加图片+图片亮度

p4_run1.add_picture("图片路径",width = Inches(5))
p4 = doc.add_paragraph()
p4_run1 = p3.add_run("")
p4_run1.add_picture("图片路径",width = Inches(5))
p4.alignment =  WD_ALIGN_PARAGRAPH.CENTER

7、字体斜体

p3 = doc.add_paragraph()
p3_run1 = p3.add_run("孤舟蓑笠翁,")
p3_run1.italic = True

完整代码

# -*- coding: UTF-8 -*-
'''
@Project :测试 
@File    :测试.py
@IDE     :PyCharm 
@Author  :一晌小贪欢(278865463@qq.com)
@Date    :2024/6/30 0:11 
'''

from docx import Document
from docx.shared import Inches
from docx.oxml.ns import qn
from docx.shared import Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
import os

# 创建文档对象
doc = Document()
# 设置文档中"Normal"样式的字体名称为"Times New Roman"
normal = doc.styles["Normal"]
normal.font.name = "Times New Roman"
# 设置文档中"Normal"样式的字体名称为"Times New Roman"
normal._element.rPr.rFonts.set(qn("w:eastAsia"), "楷体")
# 设置文档中"Normal"样式的字体大小为15磅
normal.font.size = Pt(15)

# 添加标题
heading = doc.add_heading("", level=2)
# 设置标题居中
heading.alignment = WD_ALIGN_PARAGRAPH.CENTER
# 设置标题字体
head_run = heading.add_run("江雪")
head_run.font.name = "Times New Roman"
head_run._element.rPr.rFonts.set(qn("w:eastAsia"), "楷体")
# 颜色为红色
head_run.font.color.rgb = RGBColor(255, 0, 0)
head_run.font.bold = True
head_run.font.size = Pt(28)

p1 = doc.add_paragraph()
p1_run = p1.add_run("唐代:柳宗元")
p1_run.bold = True
p1.alignment = WD_ALIGN_PARAGRAPH.CENTER

p2 = doc.add_paragraph()
p2_run = p2.add_run("千山鸟飞绝,万径人踪灭")
# p2_run.bold = True
p2_run.font.color.rgb = RGBColor(255, 0, 0)
p2.alignment = WD_ALIGN_PARAGRAPH.CENTER

p3 = doc.add_paragraph()
p3_run1 = p3.add_run("孤舟蓑笠翁,")
p3_run1.italic = True

p3_run2 = p3.add_run("孤舟蓑笠翁")
p3_run2.underline = True
p3.alignment = WD_ALIGN_PARAGRAPH.CENTER

p4 = doc.add_paragraph()
p4_run1 = p3.add_run("")
p4_run1.add_picture("D:\python学习\测试\img.png", width=Inches(5))
p4.alignment = WD_ALIGN_PARAGRAPH.CENTER


doc.save("江雪.docx")

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一晌小贪欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值