DW-办公自动化03(Word)

1 初步认识

  • doxc库:python 处理 Word 需要用到 python-docx 库
  • 安装doxc库:
    pip3 install python-docx
    

2 Word操作

2.1 新建空白Word并插入文字

  • 简单设置
    # 导入库
    from docx import Document
    
    # 新建空白文档
    doc_1 = Document()
    
    # 添加标题(0相当于文章的题目,默认级别是1,级别范围为0-9)
    doc_1.add_heading('新建空白文档标题,级别为0',level = 0)
    doc_1.add_heading('新建空白文档标题,级别为1',level = 1)
    doc_1.add_heading('新建空白文档标题,级别为2',level = 2)
    
    # 新增段落
    paragraph_1 = doc_1.add_paragraph('这是第一段文字的开始\n请多多关照!')
    # 加粗
    paragraph_1.add_run('加粗字体').bold = True
    paragraph_1.add_run('普通字体')
    # 斜体
    paragraph_1.add_run('斜体字体').italic =True
    
    # 新段落(当前段落的下方)
    paragraph_2 = doc_1.add_paragraph('新起的第二段文字。')
    
    # 新段落(指定端的上方)
    prior_paragraph = paragraph_1.insert_paragraph_before('在第一段文字前插入的段落')
    
    # 添加分页符(可以进行灵活的排版)
    doc_1.add_page_break()
    # 新段落(指定端的上方)
    paragraph_3 = doc_1.add_paragraph('这是第二页第一段文字!')
    
    # 保存文件(当前目录下)
    doc_1.save('doc_1.docx')
    
    在这里插入图片描述

2.2 Word具体操作

2.2.1 整体页面介绍

  • Word文档页面结构:
    • 文档-Document
    • 段落-Paragraph
    • 文字块-Run
  • python-docx下Word文档结构:
    • python-docx将整个文章看做是一个document对象
    • 每个 document 包含多个代表‘’段落‘’的 paragraph 对象,存放在document.paragraphs
    • 每个 Paragraph 都有许多个代表"行内元素"的 Run 对象,存放在paragraph.runs

    注意:在python-docx中,run是最基本的单位,每个run对象内的文本样式都是一致的,也就是说,在从docx文件生成文档对象时,python-docx会根据样式的变化来将文本切分为一个个的Run对象。

  • 以一个小案例为主线把文档,段落和文字块串一下:
    # 导入库
    from docx import Document
    from docx.shared import RGBColor, Pt,Inches,Cm # 定义字体颜色、像素大小、尺寸、缩进
    from docx.enum.text import WD_PARAGRAPH_ALIGNMENT # 引入段落对齐方式模块
    from docx.oxml.ns import qn # 引入中文字体设置模块
    
    # 新建文档(Datawhale)
    doc_1 = Document()
    
    # 字体设置(全局)
    '''只更改font.name是不够的,还需要调用._element.rPr.rFonts的set()方法。'''
    
    doc_1.styles['Normal'].font.name = u'宋体'
    doc_1.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
    
    # 添加标题(0相当于文章的题目,默认级别是1,级别范围为0-9,0时候自动带下划线)
    heading_1 = doc_1.add_heading('周杰伦',level = 0)
    heading_1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER   #居中对齐,默认居左对齐
    
    # 新增段落
    paragraph_1 = doc_1.add_paragraph()
    '''
    设置段落格式:首行缩进0.75cm,居左,段后距离1.0英寸,1.5倍行距。
    '''
    paragraph_1.paragraph_format.first_line_indent = Cm(0.75)
    paragraph_1.paragraph_format.alignment =  WD_PARAGRAPH_ALIGNMENT.LEFT
    paragraph_1.paragraph_format.space_after =  Inches(1.0)
    paragraph_1.paragraph_format.line_spacing =  1.5
    
    text = '中国台湾华语流行歌手、' \
           '音乐创作家、作曲家、作词人、' \
           '制作人、杰威尔音乐公司老板之一、导演。' \
           '近年涉足电影行业。周杰伦是2000年后亚洲流行乐坛最具革命性与指标' \
           '性的创作歌手,有“亚洲流行天王”之称。他突破原有亚洲音乐的主题、形' \
           '式,融合多元的音乐素材,创造出多变的歌曲风格,尤以融合中西式曲风的嘻哈' \
           '或节奏蓝调最为著名,可说是开创华语流行音乐“中国风”的先声。周杰伦的' \
           '出现打破了亚洲流行乐坛长年停滞不前的局面,为亚洲流行乐坛翻开了新的一页!'
        
    r_1 = paragraph_1.add_run(text)
    r_1.fo
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值