Word自动化处理相关知识
一、向Word文档中写入数据——python-docx
1.1 安装:pip install python-docx
1.2 使用方法:
1.2.1 向Word中写入文字
#以下是docx库中需要用到的部分
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH #文本排列样式
from docx.shared import Pt # 字体大小,磅数
from docx.oxml.ns import qn # 中文格式
# 创建文档对象
document = Document()
# 设置文档的基础字体
document.styles['Normal'].font.name = u'宋体'
# 设置文档的基础字体和样式(包含中文)
document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
# 初始化建立第一个自然段
p1 = document.add_paragraph()
# 对齐方式为居中,没有这句的话默认左对齐。
p1.alignment = WD_ALIGN_PARAGRAPH.CENTER
# 设置第一段的内容
run1 = p1.add_run('关于下达%s产品价格的通知' % (today))
# 设置西文字体
run1.font.name = '微软雅黑'
# 设置中文字体
run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')
# 设置字体大小为21磅
run1.font.size = Pt(21)
# 设置加粗
run1.font.bold = True
# 段后距离5磅
p1.space_after = Pt(5)
# 段前距离5磅
p1.space_before = Pt(5)
#保存
document.save('a.docx' )
1.2.2 向Word中写入图片和表格
# 写入图片需要导入图片尺寸
from docx.shared import Inches
#插入图片,宽度为6英寸
document.add_picture('banner.jpg', width=Inches(6))
#插入表格,3行3列
table = document.add_table(rows=3, cols=3, style='Table Grid')
#合并单元格,从第一行第一列合并到第一行第三列
table.cell(0, 0).merge(table.cell(0, 2))
#设置第一行第一列的单元格的文字内容和字体样式
table_run1 = table.cell(0, 0).paragraphs[0].add_run('XX产品报价表')
table.cell(0, 0).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER
table_run1.font.name = u'隶书'
table_run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'隶书')
#设置其他单元格的内容
table.cell(1, 0).text = '日期'
table.cell(1, 1).text = '价格'
table.cell(1, 2).text = '备注'
table.cell(2, 0).text = today
table.cell(2, 1).text = str(price)
table.cell(2, 2).text = ''
1.2.3 将Word文档转换成PDF文件
注意:代码是固定写法
Word自动化处理相关知识相关推荐
- 【提高系列】webpack相关知识
这次我们主要研究的是webpack框架的相关知识,webpack是一个打包构建的前端框架,用于解决前端开发的模块化问题. 应用场景和纵向比较 说到webpack,肯定你还会想到gulp和grunt这些 ...
- linux的内核和发行版本号,【编测编学】linux内核及发行版本相关知识
之前很多孩子就和我说老师我会linux,我就会反问,你学软件测试,你会linux你知道linux的东西如何和企业结合吗? 不是你只会一些cd.chmod.chown.ps.find.tar.vim.v ...
- 自学c语言中相关知识,设计出医院住院管理系统.要求如下所述:,C语言课程设计题Z目.doc...
C程序课程设计 题目及任务 设计题目.任务 从以下三个题目中任选一个 题目一:汽车售票系统 任务:自学C语言中相关知识,设计出汽车售票系统.要求如下所述: 每天"武汉火车站→天河机场&quo ...
- SQL注入 基础概述及相关知识
SQL注入 基础概述及相关知识 SQL注入概述 SQL注入攻击简介 SQL注入攻击原理 SQL注入攻击来源 SQL注入攻击主要特点 SQL注入攻击危害 SQL注入攻击 SQL注入攻击基础概述 SQL注 ...
- 网络带宽相关知识和计算
一.带宽 带宽应用的领域非常多,可以用来标识信号传输的数据传输能力.标识单位时间内通过链路的数据量.标识显示器的显示能力. 1. 在模拟信号系统又叫频宽,是指在固定的时间可传输的资料数量,亦即在传输管 ...
- 网络打印两个基本端口(LPD和9100)的相关知识
打印设备和主机的连接方式(printer interface)形态多样,从历史悠久的串口并口到现在流行的网络打印和USB连接,另类的红外连接和蓝牙技术,还有超炫的火线连接(IEEE 1394). 我这 ...
- HTML入门基础教程相关知识
HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...
- Linux相关知识的第四回合
Linux相关知识的第四回合 文章目录 Linux相关知识的第四回合 文本处理各种工具的过招 shell脚本的过招 vim编辑工具的过招 文本处理各种工具的过招 统计出/etc/passwd文件中其默 ...
- JS作用域相关知识(#精)
在学习<你不知道的JS>一书中,特将作用域相关知识在此分享一下: #说到作用域,就不得不提到LHS查询和RHS查询: 1)如果查询目的是对变量进行赋值,则使用LHS查询 2)如果查询目的是 ...
最新文章
- Grunt 5分钟上手:合并+压缩前端代码
- IIS下配置PHP遇到Service Unavailable的解决方法
- mysql数据库语句分类_细数MySQL中SQL语句的分类
- 鸿蒙os智能座舱,华为智能座舱的野心:HiCar上车,为鸿蒙OS铺路
- 2019年春计算机应用基础随堂作业,华南理工2019年《计算机应用基础》随堂练习 doc...
- 可恶的Java数组下标越界检查
- JS----window对象详解
- python面板数据分析代码_用python预处理面板数据(续)
- 搭建ntp时间服务器 ntp - (Network Time Protocol)
- 3种方法实现Android按钮的点击事件,建议收藏!
- 【linux系统学习笔记】运行startx后Ubuntu密码正确进不去的问题
- BZOJ4573[ZJOI2016] 大森林
- Aliplayer 阿里云播放器自定义视弹出框 包含全屏
- Flume Agent 组件如何协同工作
- 优动漫PAINT画面上色技巧——渐变映射
- pyinstaler打包paddle
- 应用全屏启动页适配小米9(水滴屏)
- Amazon亚马逊开发者账号申请
- PMP考试常用缩写汇总
- Python matplotlib 批量绘图内存不够问题(Out of memory)