python 操作word文档

python 操作word文档

效果

在这里插入图片描述

首先安装 python-docx

pip  install python-docx
基本使用方法
新建word文档
class docx.document.Document
Document 对象
#打开文档
document = Document()
添加标题
#加入不同等级的标题
add_heading(text='', level=1)

document.add_heading('标题1',1)
增加分页
add_page_break()[源代码]
新返回 Paragraph 对象只包含分页符

#增加分页
document.add_page_break()
添加文本
add_paragraph(text='', style=None)

返回新添加到文档末尾的段落,填充 text 有段落风格 风格 . text 可以包含制表符 (\t )字符,这些字符将转换为选项卡的适当XML格式。 text 也可以包括换行符 (\n )或回车 (\r )字符,每个字符都转换为换行符。
                                                                                          
#添加文本
paragraph = document.add_paragraph(u'添加了文本')                                               
设置字号
#设置字号
 my_font = paragraph.add_run('')
 my_font.font.size = Pt(12)
设置字体颜色
 #设置字体颜色
 my_font.font.color.rgb = RGBColor(0, 0, 0)
添加图片
add_picture(image_path_or_stream, width=None, height=None)

返回在文档末尾添加到其自身段落中的新图片形状。图片包含位于的图像 image_path_or_stream ,基于 宽度 和 高度 . 如果未指定宽度和高度,则图片将以其原始大小显示。如果只指定了一个,它将用于计算比例因子,然后应用于未指定的维度,保持图像的纵横比。图片的原始大小是使用图像文件中指定的每英寸点数(dpi)值来计算的,如果没有指定值,默认值为72 dpi

添加图片
document.add_picture("xxx.jpg",width=Inches(6),height=Inches(8))
插入表格
add_table(rows, cols, style=None)

添加行和列计数为的表 rows 和 cols 分别和表格样式 风格 . 风格 可以是段落样式对象或段落样式名称。如果 风格 是 None ,表继承文档的默认表样式。

#增加表格
table = document.add_table(rows=2,cols=2)
hdr_cells=table.rows[0].cells
hdr_cells[0].text="一行一列"
hdr_cells[1].text="一行二列"

hdr_cells = table.rows[1].cells
hdr_cells[0].text = '二行一列'
hdr_cells[1].text = '二行二列'
设置斜体
#设置斜体
fontStayle = paragraph.add_run(u'斜体、')
fontStayle.italic = True
设置字体
#设置字体
fontStayle = paragraph.add_run('Set Font,')
fontStayle.font.name='Consolas'
设置粗体
fontStayle = paragraph.add_run(u'粗体').bold = True
增加引用
#增加引用
document.add_paragraph('Intense quote', style='Intense Quote')
增加列表
#增加有序列表
document.add_paragraph(
    u'有序列表元素1',style='List Number'
)
document.add_paragraph(
    u'有序列别元素2',style='List Number'
)


#增加无序列表
document.add_paragraph(
    u'无序列表元素1',style='List Bullet'
)
document.add_paragraph(
    u'无序列表元素2',style='List Bullet'
)

保存文档
save(path_or_stream)
将此文档保存到 path_or_stream ,它可以是文件系统位置(字符串)的路径,也可以是类似文件的对象

#保存文件
document.save('笔记.docx')

使用案例

在日常中我们会有一些手写的笔记,为了保存好我们可以有两种方式,一种是把它全部电子化,一种是把它拍成图片做成电子档。以下是我将自己的数学笔记电子化的方式。

准备工作

将自己的图片文档采取 [1.jpg,2.jpg,3.jpg,4.jpg…] 格式命名好,就可以批量插入生成

在这里插入图片描述

from docx import Document
from docx.shared import Pt, RGBColor,Inches

#生成word 文档的函数
def wordfunc():
    #打开文档
    document = Document()
    #加入不同等级的标题
    document.add_heading('专升本高等数学笔记',0)
    # 添加文本
    paragraph = document.add_paragraph('author: 茶凡_Metrix')
    # 设置字体和颜色
    my_font = paragraph.add_run('')
    my_font.font.size = Pt(12)
    my_font.font.color.rgb = RGBColor(0, 0, 0)

    list = []
    for i in range(4):
        list.append("./static/"+str(i+1)+".jpg")
    #增加图片(此处使用相对位置)
    for i in list:
        document.add_picture(i,width=Inches(6),height=Inches(7.5))
    #增加分页
    document.add_page_break()
    #保存文件
    document.save('高等数学笔记.docx')

if __name__ == '__main__':
    wordfunc()
    print("word生成完毕")

官方文档:文档对象 — python-docx 0.8.11 文档 (osgeo.cn)

posted @ 2022-05-03 12:46  茶凡_Matrix  阅读(23)  评论(0编辑  收藏  举报  来源