使用Python 自动生成 Word 文档的教程
2020-04-25 12:04
761 查看
当然要用第三方库啦 :)
使用以下命令安装:
pip install python-docx
使用该库的基本步骤为:
1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件)。
2.设置文档的格式(默认字体、页面边距等)。
3.在文档对象中加入段落文本、表格、图像等,并指定其样式。
4.保存文档。
注:本库仅支持生成Word2007以后版本的文档类型,即扩展名为.docx 的。
下面分步介绍其基本使用方法:
步骤一:
from docx import Document doc = Document() #以默认模板建立文档对象 doc = Document('a.docx') # 读取a.docx文档,建立文档对象
步骤二:
from docx.shared import Inches,Pt def chg_font(obj,fontname='微软雅黑',size=None): ## 设置字体函数 obj.font.name = fontname obj._element.rPr.rFonts.set(qn('w:eastAsia'),fontname) if size and isinstance(size,Pt): obj.font.size = size distance = Inches(0.3) sec = doc.sections[0] # sections对应文档中的“节” sec.left_margin = distance # 以下依次设置左、右、上、下页面边距 sec.right_margin = distance sec.top_margin = distance sec.bottom_margin = distance sec.page_width =Inches(12) #设置页面宽度 sec.page_height = Inches(20) #设置页面高度 ##设置默认字体 chg_font(doc.styles['Normal'],fontname='宋体')
步骤三:
1.添加段落文本
paragraph =doc.add_paragraph('text....') ph_format =paragraph.paragraph_format ph_format.space_before =Pt(10) #设置段前间距 ph_format.space_after =Pt(12) #设置段后间距 ph_format.line_spacing=Pt(19) #设置行间距
如果希望同一段落中的文本格式不同,就需要使用Run对象(可以理解为可以单独设置格式的段落内对象)。
如:
run = paragraph.add_run('text...') run.bold = True #设置字体为粗体 chg_font(run,fontname='微软雅黑', size=Pt(12)) #设置字体和字号
2.添加表格,并写入相关内容
tab =doc.add_table(rows=4,cols=4) #添加一个4行4列的空表 cell=tab.cell(1,3) #获取某单元格对象(从0开始索引)
在单元格中添加文本:
cell.text='abc'
在单元格中添加多行文本(指定转行)
ph =cell.paragraphs[0] run=ph.add_run(‘text....')' run.add_break() # 添加一个折行 run.add_picture('a.png') # 插入图像,可以是内存中的图像,width=Inches(1.0)指定宽度。
3.在文档中添加图像:
doc.add_picture('a.png')
步骤四:
doc.save('a.docx') # 保存图像
做一个简单的测试,其生成文档的速度还是比较快的。感觉比以前用reportlab库生成PDF文档要快不少呢!
下图是用此方式生成docx文档的截图:
以上这篇使用Python 自动生成 Word 文档的教程就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- Python使用win32com模块实现数据库表结构自动生成word表格的方法
- python自动生成易于阅读的html文档——使用Sphinx
- 使用VSTO自动生成word文档
- 使用Sphinx为你的python模块自动生成文档
- Java使用FreeMarker自动生成Word文档(带图片和表单)
- 软工写文档熟练使用word很重要——自动生成编号
- python自动生成易于阅读的html文档——使用Sphinx
- 在Windows系统下使用PHP生成Word文档的教程
- python自动生成易于阅读的html文档——使用Sphinx
- 使用Sphinx为你的python模块自动生成文档
- 使用Python从Markdown文档中自动生成标题导航
- python爬虫抓取新华网新闻并自动生成word文档
- 软工写文档熟练使用word很重要——自动生成编号
- 使用python调用zabbix接口截取监控图并生成Word文档
- 在Windows系统下使用PHP生成Word文档的教程
- 使用Sphinx为你的python模块自动生成文档
- python自动生成易于阅读的html文档——使用Sphinx
- 使用Delphi 7控制Word 2000生成文档的方法
- [技巧]使用Xcode集成的HeaderDoc自动生成注释和开发文档
- ASP.NET基础教程-使用CommandBuilder对象自动生成SQL语句对数据进行批量更新