首页 > 编程语言 >python-docx处理Word

python-docx处理Word

时间:2023-06-24 09:00:45浏览次数:47  
标签:docx p1 Word format python paragraph 设置 docment

  用到的库

?
1 2 3 4 5 6 from docx import Document(文档读写) from docx.shared import Pt,Cm,Inches (字体大小,不一定全用到) from docx.oxml.ns import qn(设置字体格式,分栏等用到) from docx.shared import RGBColor (设置字体颜色) from docx.enum.text import WD_ALIGN_PARAGRAPH (设置对其方式) from docx.enum.section import WD_ORIENTATION (纸张方向用到)

设置大致格式

这样设置完了之后有一个好处就是,后往里面写入文档的时候回自动按这个格式,如果有需要改动的再单独写入时改。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 docment = docx.Document(docx_tamplate) # 读取模板文档,这里可以不用模板文档,因为python-docx没法设置页码,所以我先建了一个有页码的空白文档作为模板文档 # 设置正文默认格式 # 字体大小三号字(16) docment.styles['Normal'].font.size = Pt(16) # 字体仿宋_GB2312 docment.styles['Normal'].font.name = u'仿宋_GB2312' docment.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'仿宋_GB2312') # 行间距 28磅 段前、段后不留空 docment.styles['Normal'].paragraph_format.line_spacing = Pt(29) docment.styles['Normal'].paragraph_format.space_before = Pt(0) docment.styles['Normal'].paragraph_format.space_after = Pt(0) # 首行缩进2字符 docment.styles['Normal'].paragraph_format.first_line_indent = 406400 # 关闭孤行控制 docment.styles['Normal'].paragraph_format.widow_control = False # 设置页面大小 docment.sections[0].page_height = Cm(29.7# 设置A4纸的高度 docment.sections[0].page_width = Cm(21# 设置A4纸的宽 # 设置页边距 docment.sections[0].top_margin = Cm(3.7) docment.sections[0].bottom_margin = Cm(3.4) docment.sections[0].left_margin = Cm(2.8) docment.sections[0].right_margin = Cm(2.6)

单独设置段格式

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 doc=Document() #创建一个空白文档 p1=doc.add_paragraph()  #初始化建立一个自然段 p1.alignment=WD_ALIGN_PARAGRAPH.CENTER  #对齐方式为居中,没有这句话默认左对齐。另外右对齐:RIGHT,两端对齐:JUSTIFY,分散对齐:DISTRIBUTE   p1.paragraph_format.line_spacing=1.5  #设置该段落,行间距为1.5倍,也可以像上面设默认值那样用Pt单位来设置 p1.paragraph_format.first_line_indent=Inches(0.5#段落缩进0.5英寸,我还是习惯设置2字符 值为:406400 p1.paragraph_format.left_line_indent=Inches(0.5#设置左缩进0.5英寸。一般用不到 p1.paragraph_format.right_line_indent=Inches(0.5#设置右缩进0.5英寸,一般用不到 p1.paragraph_format.keep_together = False  # 段前分页 p1.paragraph_format.keep_with_next = False  # 与下段同页 p1.paragraph_format.page_break_before = True  # 段中不分页 p1.paragraph_format.widow_control = False  # 孤行控制 p1.space_after=Pt(5#设置段后距离为5磅 p1.space_before=Pt(5#设置段前距离为5磅   run1=p1.add_run('你好')   #写入段落的中的文本“你好” run1.font.size=Pt(12#单独设置字体大小为24 run1.font.bold=True  #样式设置加粗 run1.italic=True  #字形设置斜体 run1.font.underline = True  # 下划线 run1.font.color.rgb = RGBColor(255, 0, 0# 颜色

插入图片

?
1 2 #添加图片,设置图片大小 doc.add_picture(r"图片路径", width=Cm(10))

插入表格

?
1 2 3 4 5 6 7 8 tab = doc.add_table(rows=5, cols=8, style='Table Grid') # 创建一个5行8列的表格,样式为Table Grid tab.cell(0, 0).text = '表角'  # 0行0列的内容为表角 cell=tab.cell(0, 1).merge(tab.cell(0, 3)) # 合并0行1列到0行3列 p = cell.paragraphs[0] run = p.add_run(‘合并') #在单元格内容创建一个段落,并写入‘合并'文本 run.font.size = Pt(10.5# 字体大小设置,和word里面的字号相对应5号字 run.bold = True p.paragraph_format.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 设置为加粗 居中显示

 

原文链接:https://www.cnblogs.com/wenshi-jj/p/15389090.html

标签:docx,p1,Word,format,python,paragraph,设置,docment
From: https://www.cnblogs.com/QQ-77Ly/p/17500652.html

相关文章

  • Python与TensorFlow:如何高效地构建和训练机器学习模型
    目录标题:《Python与TensorFlow:如何高效地构建和训练机器学习模型》一、引言随着人工智能的快速发展,机器学习作为其中的一个重要分支,受到了越来越多的关注和应用。而Python作为一门广泛应用于机器学习领域的编程语言,其与TensorFlow的结合也变得越来越重要。本文将介绍Python与......
  • Python字符串前缀u、r、b、f含义
    Python字符串前缀u、r、b、f含义1、字符串前加u例子:u"字符串中有中文"含义:前缀u表示该字符串是unicode编码,Python2中用,用在含有中文字符的字符串前,防止因为编码问题,导致中文出现乱码。另外一般要在文件开关标明编码方式采用utf8。Python3中,所有字符串默认都是unicode字符串......
  • 垃圾识别系统Python+TensorFlow+Django+卷积神经网络算法【完整代码系统】
    一、介绍垃圾识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对5种垃圾数据集进行训练,最后得到一个识别精度较高的模型。并基于Django,开发网页端操作平台,实现用户上传一张垃圾图片识别其名称。二、效果展示三、演示视频+代码视......
  • 交通标志识别系统Python+TensorFlow+Django+卷积神经网络算法实现【完整代码】
    一、介绍使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Django,开发网页端操作平台,实现用户上传一张图片识别其名称。二、效果展示三、演示视频视频+完整代码:https://www.yuque.......
  • 840个最优的机器学习python开源项目整理分享
    本资源包含了840个很棒的机器学习开源项目,总共270万颗星分为32个类别。所有项目均按项目质量得分排名,该得分是根据从GitHub和不同程序包管理器自动收集的各种指标计算得出的。目录资源列表......
  • python爬取一些文字信息并保存到表格
    #coding:utf-8'''获取验证码自动登录'''importopenpyxlfromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportSelectimporttimeimportreimportrandomimportpandasa......
  • WordPress开启Nginx FastCGI Cache缓存
    本文转载自:WordPress开启NginxFastCGICache缓存更多内容请访问钻芒博客:https://www.zuanmang.netWordPress速度优化始终是一个没有尽头的课题,最近逛几个技术大佬的站点发现都用了Nginx缓存,遂搜集资料展开部署。教程分享如下Ps.由于钻芒博客是通过Nginx反响代理到本地内网访问......
  • WordPress开启Nginx Redis Cache缓存 解决FastCGI Cache内网穿透兼容问题
    本文转载自:WordPress开启NginxRedisCache缓存解决FastCGICache内网穿透兼容问题更多内容请访问钻芒博客:https://www.zuanmang.net上回说到,Wordpress配合NginxFastCGICache缓存可以极大提升速度体验,但钻芒博客由于是通过Nginx反向代理所以使用起来纯在一定兼容问题,比如缓......
  • python批量调整docx段落格式
    平时使用WechatDownload保存了很多技术文章,格式比较乱。比如很多空白行、英文乱码、页面左右缩进太多等问题,今天一并解决一下安装python-docxfromdocximportDocumentfromdocx.sharedimportCmimportosrootdir=r'E:\vxWEB\GIS'forfilesinos.listdir(rootdir):......
  • 使用python简单的爬取图片
    importrefrombs4importBeautifulSoupimportrequestsheaders={'User-agent':'Mozilla/5.0(Linux:Android6.0;Nexus5Build/MRA58M)''ApplewebKit/537.36(KHTML,likeGecko)''Chrome/104.0.5112.81'}url=''#......