python 字体_python docx字体设置-程序员宅基地

技术标签: python 字体  

首先引入依赖包

from docx import Document

from docx.oxml.ns import qn

from docx.shared import Pt,RGBColor

如果不进行字体手动设置的话,生成的文字字体格式就会千奇百怪,如下图

Doc = Document()

Doc.add_heading("刚来csdn,这就是博客么,I了")

Doc.add_paragraph("Python ")

Doc.add_paragraph("Python 对word进行操作")

Doc.save("Python_word.docx")

可以看到自动配置的字体不是我们平常默认的宋体,而是一个歪果字体,无论是正文还是标题的字看着很乱。因此需要手动设置一下字体。

只需要在Doc = Document()下添加如下代码,就可以设置文本内容字体,颜色等等,方法是对font成员进行属性的修改。

Doc.styles['Normal'].font.name = u'宋体'

Doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

Doc.styles['Normal'].font.size = Pt(10.5)

Doc.styles['Normal'].font.color.rgb = RGBColor(0,0,0)

可以看到正文内容的字体已经变成了我们想要的样子了,但蓝圈的标题依然还是有问题,可能因为标题不属于正文范围内吧,需要单独再设置一下。

对于标题来说,需要用这种方式设置字体

# 标题等级如1,2,3这些数字,一级标题二级标题这样

Head = Doc.add_heading("",level=标题等级)# 这里不填标题内容

run = Head.add_run("真正要填写的标题")

run.font.name=u'Cambria'

run._element.rPr.rFonts.set(qn('w:eastAsia'), u'Cambria')

run.font.color.rgb = RGBColor(0,0,0)

第一行的地方不填标题内容,因为我没有研究出来怎么修改他的大小和值,只能通过add_run的返回值来修改标题的内容。再运行的结果如下:

注意到颜色也发生了变化,是因为我最后一行修改了字体的颜色。

完整代码

Doc = Document()

Doc.styles['Normal'].font.name = u'宋体'

Doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

Doc.styles['Normal'].font.size = Pt(10.5)

Doc.styles['Normal'].font.color.rgb = RGBColor(0,0,0)

Head = Doc.add_heading("",level=1)# 这里不填标题内容

run = Head.add_run("刚来csdn,这就是博客么,I了")

run.font.name=u'Cambria'

run.font.color.rgb = RGBColor(0,0,0)

run._element.rPr.rFonts.set(qn('w:eastAsia'), u'Cambria')

Doc.add_paragraph("Python ")

Doc.add_paragraph("Python 对word进行操作")

Doc.save("Python_word.docx")

附:字体大小参照这篇博客的对照表:

字号‘八号’对应磅值5

字号‘七号’对应磅值5.5

字号‘小六’对应磅值6.5

字号‘六号’对应磅值7.5

字号‘小五’对应磅值9

字号‘五号’对应磅值10.5

字号‘小四’对应磅值12

字号‘四号’对应磅值14

字号‘小三’对应磅值15

字号‘三号’对应磅值16

字号‘小二’对应磅值18

字号‘二号’对应磅值22

字号‘小一’对应磅值24

字号‘一号’对应磅值26

字号‘小初’对应磅值36

字号‘初号’对应磅值42

原文链接:https://blog.csdn.net/weixin_42763696/article/details/105492135

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39911007/article/details/110538656

智能推荐

jQuery-Ajax(详解)_jquery.ajax-程序员宅基地

文章浏览阅读2.7w次,点赞77次,收藏419次。安装Web环境Ajax方法需要与Web服务器端进行交互,需要有环境才可正常使用,安装环境的工具包有很多,可以选择自行下载。jQuery中的Ajax在jQuery中,$.Ajax()方法属于最底层的方法,第2层是load(),$.get(),和$.post(),第3层是$.getScript()和$.getJSON()方法。一、 load( ) 方法结构load( url , [data] , [callback] )参数解释捕获.PNG1.1 应用1.1.1首先构建一_jquery.ajax

abaqus切削为什么没有切屑_基于ABAQUS的高速切削切屑形成过程的有限元模拟-程序员宅基地

文章浏览阅读809次。【实例简介】基于有限元分析软件ABAQUS的Johnson-Cook材料模型以及断裂准则模拟高速切削淬硬钢锯齿状切屑形态,并讨论刀具前角和锯齿状切屑形态对切削力的影响。研究表明仿真结果和试验结果是一致的,文中介绍的有限元模拟方法可以准确地模拟并预测高速切削淬硬钢时的切屑形成过程。刀4有限元模拟及试验结果将有限元模拟仿真预测的切屑形态与试验结果进行比较,如图2、图3、图4所示。预测的切屑形态结果以积..._abaqus切屑

python判断素数的函数_python基础——filter函数-程序员宅基地

文章浏览阅读1.2k次。python基础——filter函数Python内建的filter()函数用于过滤序列。和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。例如,在一个list中,删掉偶数,只保留奇数,可以这么写:#在一个list中,删掉偶数,只保留奇数def is_odd(..._并发编程判断大素数def main(): if __name__ == '__main__': primes=list(map(int

Zookeeper-api基础教程_zookeeper入门初体验头歌答案-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏14次。第一关、创建会话与关闭【题目来自头歌enducoder平台,有帮助的话,不忘点个赞、关注哟!】import java.io.IOException;import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooKeeper;public class test1 { // 初始化 ZooKeeper 实例 privat_zookeeper入门初体验头歌答案

你应该知道的10种软件工具_wzk工具箱软件-程序员宅基地

文章浏览阅读999次。除非你是设计小型模拟电子电路,不然这年头离开了计算机的帮助,在嵌入式系统设计中很难做成什么事。我觉得我应该分享一个能帮助我完成工作的软件工具列表。它们大多数都是免费的或者比较便宜的。它们大多数也和软件一起工作。如果你向来不需要设计,阅读或者编辑任何软件,那么你属于读了这篇文章不会从中受益的那一小部分人。免责声明:“最佳”软件工具通常是一种主张。你可能不同意我的主张,那就取其精华吧。_wzk工具箱软件

Asp.net Ajax ASP.NET 局部更新PostBack的客户端调用过程 _asp.net postback viewstate ajax-程序员宅基地

文章浏览阅读2k次。Sys.WebForms.PageRequestManager._initialize(ScriptManager1, document.getElementById(form1));Sys.WebForms.PageRequestManager.getInstance()._updateControls([tUpdatePanel1], [], [], 90); 看一下Micro_asp.net postback viewstate ajax

随便推点

联盟鱼的一种说法_联盟鱼lead-程序员宅基地

文章浏览阅读74次。一种是库料,简单的理解为就是通过一些技术手段,一下子可以获取一部分数量的信息,至于这些信息是什么时候存在的不清楚,然后再有测活软件,一一筛选,得到有效利用的,然后再找对应的项目来做。做国外广告联盟的人或者是亚马逊圈里面,再有通道都会接触到这些技术,所谓需不需要吧,最起码是要懂得的。当然这些都是可以通过一定技术来实现的,需要匹配不同的资源,需要哪些数据再去结合就够了。不管国外LEAD也好,还是其他的也罢,言尽于此。还有一种就是所谓的新鲜的,如同去菜市场买菜一样,看到活蹦乱跳的大鲤鱼,这种情况下,叫做鲜鱼。_联盟鱼lead

学习FreeRTOS前的准备工作_学习freertos之前-程序员宅基地

文章浏览阅读3.7k次。--转自:http://bbs.armfly.com/read.php?tid=1552了解FreeRTOS之前,一定要搞清楚FreeRTOS, SafeRTOS和OpenRTOS之间的关系1. 先说FreeRTOS和OpenRTOSFreeRTOS和OpenRTOS的共享相同的源码,只是 OpenRTOS 为 FreeRTOS 披上’commercial and legal _学习freertos之前

夜神模拟器浏览器下载安装burp证书,der证书安装不上 的解决办法。_windows 夜神证书 安装不了-程序员宅基地

文章浏览阅读343次。大家不要慌,咱们进入设置,点击安全,然后看图2。点击下载证书,发现双击打不开。_windows 夜神证书 安装不了

电动汽车常规充电、快速充电、更换电池充电负荷蒙特卡洛法模拟(Matlab代码实现)-程序员宅基地

文章浏览阅读309次,点赞7次,收藏10次。运用蒙特卡洛法模拟电动汽车的充电方式,包括常规充电、快速充电以及更换电池充电曲线,并研究这些方式对日负荷曲线的影响。通过模拟这些充电方式,我们可以深入了解电动汽车在不同充电模式下对电网的影响,从而为未来电动汽车的普及和充电基础设施的规划提供重要参考。通过这样的蒙特卡洛法模拟研究,您可以获得关于不同类型电动汽车充电负荷的信息,帮助优化充电桩的布局和安排,改善充电服务和系统性能。可以计算充电桩的利用率、充电时长的分布、平均等待时间等指标,评估不同类型电动汽车充电负荷的特征和影响因素。行百里者,半于九十。

面向联邦学习的知识图谱系统设计与构建(开题报告)_联邦式知识图谱-程序员宅基地

文章浏览阅读536次,点赞19次,收藏13次。总体而言,面向联邦学习的知识图谱系统设计与构建不仅有望解决当前联邦学习中的一系列挑战,同时也为构建更智能、安全和高效的分布式智能系统提供了新的思路和工程实践。技术方案的选择应考虑如何通过知识图谱系统的设计和优化方法,提高联邦学习模型的训练效率。4.在实验阶段,通过验证系统性能,实际应用于联邦学习场景,为实际应用提供了具体的解决方案,并在实验结果中展现了创新性和可行性。2.提出的模型训练优化方法通过知识图谱系统的应用,为联邦学习中的模型训练问题提供了新的解决思路,具有一定的创新性。_联邦式知识图谱

git 提交代码失败 Make sure no other git process is running and remove the file manually to continue.-程序员宅基地

文章浏览阅读4k次,点赞5次,收藏4次。在提交的代码的时候突然失败了,报错的信息是这样的$ git commit -afatal: Unable to create 'e:/git/Android/XXXXXX/.git/index.lock': File exists.If no other git process is currently running, this probably means agit process c..._git process is running and remove the file manually to continue