当然要用第三方库啦 :)

使用以下命令安装:

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 文档的教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持www.ic2.cn。

python自动生成和读取word_使用Python自动生成Word文档的教程相关推荐

  1. python新建word文档_使用Python 自动生成 Word 文档的教程

    当然要用第三方库啦 :) 使用以下命令安装: pip install python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文档 ...

  2. Python实现识别html文本内容并截图放入word文档

    需求: excel文件中存放了很多html标签文本,需要把文本内容在浏览器中打开将内容截图,放入doc文档保存. 手动过程 需要逐条手动处理 1. 从excel表格中复制标签文本内容 <div& ...

  3. 使用docx4j生成指定页码的带水印的空白word文档

    使用docx4j生成指定页码的带水印的空白word文档 依赖========================================== org.docx4j docx4j 6.0.1 org ...

  4. python win32转pdf 横版_使用Python3将word文档和pdf电子书进行格式互转(兼容Windows/Linux)...

    一些重要文档格式之间的互转在目前显得尤为重要,pdf作为通用格式在现在各个平台上兼容性是最好的,所以写python脚本将这些word文档批量转换pdf是最好的解决方案. 由于windows系统对于wo ...

  5. php生成word的类,在Windows系统下使用PHP生成Word文档的教程

    准备工作 首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境.由于Interop纯粹是一个Windows的特性,我们将在Windows平台下搭建Apache和PHP.在这个 ...

  6. python docx 表格复制粘贴_python-docx修改已存在的Word文档的表格的字体格式方法

    搞了好几天的表格字体格式,一直想找一种能直接一次性修改表格所有字体格式的方法(函数),但是无论用什么方法都无法修改表格字体的格式,原因应该是已存在的文档本身就具有某种格式限制,制约着里面表格里面字体格 ...

  7. java生成图章到word_JAVA不使用POI给Word文档添加水印

    程序员在开发项目时,经常需要给一些图片.文件添加水印,但往往代码编写复杂,只能是先将文件上传再调用Graphics类才能实现这一功能.但是最无奈的是这个类只能给图片添加水印,而无法通过程序给Word文 ...

  8. java打印word_如何通过Java打印Word文档

    本文将介绍如何使用Java程序来打印Word文档.打印可分为两种方式:一是打印到物理打印机:二是打印到虚拟打印机. 使用工具:Spire.Doc for Java 测试环境:Intellij Idea ...

  9. 用python编辑word_使用PYTHON编辑和读取WORD文档

    python调用word接口主要用到的模板为python-docx,基本操作官方文档有说明. 使用python新建一个word文档,操作就像文档里介绍的那样: 1 from docx import D ...

最新文章

  1. postfilter中文什么意思_Filterpost请求中文字符编码的过滤器 --学习笔记
  2. Docker最全教程——数据库容器化(十一)
  3. Mathematics(jzoj 1747)
  4. extjs 关于dom操作的几个库
  5. 属性匹配工具_k8s包管理工具Kustomize实战手册
  6. android 进入三方应用动画,Android 动画各种实现总结分享 AndroidAnimationExercise
  7. 一套小程序源码多少钱_微信点餐小程序怎么做,微信扫码点餐系统多少钱一套?...
  8. Webshell和一句话木马
  9. 数论基础 欧几里得
  10. java将pdf转excel,excel转pdf,itextpdf转换excel
  11. feedsky-对他扫兴至极
  12. 2021-11-24【数据结构练习题】【二叉搜索树的插入删除】
  13. Python实用技巧 使用pillow库批量修改文件夹下所有PNG图片透明度
  14. 项目实战2 | 基于Swarm+Prometheus实现双VIP可监控Web高可用集群
  15. 视频局部区域的马赛克处理
  16. 强制隐藏windows任务栏(使用快捷键才弹出)(hide the taskbar in win10)
  17. Matlab优化函数linprog的使用
  18. IT培训行业揭秘(五)
  19. Python之quote()使用
  20. c语言双边滤波算法,浅析bilateral filter双边滤波器的理解

热门文章

  1. Android设备获取mp3中的专辑封面信息
  2. 怎么选房能让房子升值20倍?这些因素很重要
  3. Alpha测试和Beta测试的区别
  4. STM32 HAL库学习笔记4-SPI
  5. 0056-在OpenCV环境下使用混合高斯背景建模提取前景目标
  6. 钱多多第二阶段冲刺04
  7. 【黑帽大牛】浅谈SEO快排系统对网站排名优化真的有帮助吗?【精品】
  8. 访问www.baidu.com全过程
  9. http://www.baidu.com
  10. Chinaren校友录所用的左边弹出式菜单