自动化办公2(word格式排版)

2023-08-20 21:04:34 浏览数 (2)

格式排版,繁琐的要求,如果只输入文字格式由机器帮我们弄好,那可就太简单了。于是乎利用python创建了这一功能,以此提高效率。

1.软件下载

链接:https://pan.baidu.com/s/1GVSctLPGuyA0ObGwS_LlOw?pwd=zkwi 提取码:zkwi

代码语言:javascript复制
1.下载到桌面
2.解压压缩包
3.进入文件夹双击exe文件

根据命令提示进行填写,填写后回车根据命令提示进行填写,填写后回车

如果需要结束,段落级别填-1,内容为空(回车即可)。这样在文件夹下回生成一个word文档。

2.相关代码

代码语言:javascript复制
from docx.shared import RGBColor
from docx.shared import Pt
from docx.oxml.ns import qn #设置中文字体需要该模块
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.shared import Inches
from docx import Document
doc = Document()


p = doc.add_paragraph()

data = input('绝密材料:')
# 顶格居左,三号楷体GB
run = p.add_run(str(data))
# 设置字体大小,三号
run.font.size = Pt(16)
# 设置文字类型
run.font.name = "楷体_GB2312"
# 设置像微软雅黑这样的中文字体,必须添加下面2行代码
r = run._element.rPr.rFonts
r.set(qn("w:eastAsia"),"楷体_GB2312")

#空一段
p = doc.add_paragraph()

#第三段
p = doc.add_paragraph()
data = input('输入:关于×××的报告')
# 顶格居左,三号楷体GB
run = p.add_run(str(data))
#文字居中
p.alignment = WD_TABLE_ALIGNMENT.CENTER 
# 设置字体大小,二号
run.font.size = Pt(22)
# 设置文字类型
run.font.name = "方正小标宋简体"
# 设置像微软雅黑这样的中文字体,必须添加下面2行代码
r = run._element.rPr.rFonts
r.set(qn("w:eastAsia"),"方正小标宋简体")

#空一段
p = doc.add_paragraph()

#第五段
p = doc.add_paragraph()

data = input('输入:相关单位')
# 顶格居左,三号楷体GB
run = p.add_run(str(data))
#文字居中
p.alignment = WD_TABLE_ALIGNMENT.CENTER 
# 设置字体大小,三号
run.font.size = Pt(16)
# 设置文字类型
run.font.name = "楷体_GB2312"
# 设置像楷体_GB2312这样的中文字体,必须添加下面2行代码
r = run._element.rPr.rFonts
r.set(qn("w:eastAsia"),"楷体_GB2312")


#空一段
p = doc.add_paragraph()


# 正文结构第一级
def zhengwen_num1(data):
    p = doc.add_paragraph()
    # 顶格居左,三号楷体GB
    run = p.add_run(str(data))
    #每段首行缩进二个字符
    paragraph_format = p.paragraph_format
    paragraph_format.first_line_indent = Inches(0.5)
    # 设置字体大小,三号
    run.font.size = Pt(16)
    # 设置文字类型
    run.font.name = "黑体"   
    # 设置像黑体这样的中文字体,必须添加下面2行代码
    r = run._element.rPr.rFonts
    r.set(qn("w:eastAsia"), "黑体")

# 正文结构第二级
def zhengwen_num2(data):

    p = doc.add_paragraph()
    # 顶格居左,三号楷体GB
    run = p.add_run(str(data))
    #每段首行缩进二个字符
    paragraph_format = p.paragraph_format
    paragraph_format.first_line_indent = Inches(0.5)
    # 设置字体大小,三号
    run.font.size = Pt(16)
    # 设置文字类型
    run.font.name = "楷体_GB2312"
    # 设置像微软雅黑这样的中文字体,必须添加下面2行代码
    r = run._element.rPr.rFonts
    r.set(qn("w:eastAsia"), "楷体_GB2312")

# 正文结构第三级
def zhengwen_num3(data):

    p = doc.add_paragraph()
    # 顶格居左,三号楷体GB
    run = p.add_run(str(data))
    #每段首行缩进二个字符
    paragraph_format = p.paragraph_format
    paragraph_format.first_line_indent = Inches(0.5)
    # 设置字体大小,三号
    run.font.size = Pt(16)
    #加粗
    run.font.bold = True
    # 设置文字类型
    run.font.name = "仿宋_GB2312"
    # 设置像仿宋_GB2312这样的中文字体,必须添加下面2行代码
    r = run._element.rPr.rFonts
    r.set(qn("w:eastAsia"), "仿宋_GB2312")

# 正文结构
def zhengwen(data):

    p = doc.add_paragraph()
    # 顶格居左,三号楷体GB
    run = p.add_run(str(data))
    #每段首行缩进二个字符
    paragraph_format = p.paragraph_format
    paragraph_format.first_line_indent = Inches(0.5)
    # 设置字体大小,三号
    run.font.size = Pt(16)
    # 设置文字类型
    run.font.name = "仿宋_GB2312"
    # 设置像仿宋_GB2312这样的中文字体,必须添加下面2行代码
    r = run._element.rPr.rFonts
    r.set(qn("w:eastAsia"), "仿宋_GB2312")


#第七段,正文部分
while(1):
    num = int(input('请输入段落级别'))
    data = input('请输入相关数据')
    if 0 == num:
        zhengwen(data)
        print('保存数据到正文')
    elif(num == 1):
        zhengwen_num1(data)
        print('保存数据到一级标题')
    elif(num == 2):
        zhengwen_num2(data)
        print('保存数据到二级标题')
    elif(num == 3):
        zhengwen_num3(data)
        print('保存数据到三级标题')
    # 按-1--回车--回车结束
    elif(num == -1):
        break





doc.save('xxx报告.docx')

0 人点赞