最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python批量調(diào)整Word文檔中的字體、段落間距及格式

 更新時(shí)間:2025年03月10日 10:32:19   作者:算法小狂人  
這篇文章主要為大家詳細(xì)介紹了如何使用Python的docx庫(kù)來(lái)批量處理Word文檔,包括設(shè)置首行縮進(jìn)、字體、字號(hào)、行間距、段落對(duì)齊方式等,需要的可以了解下

最近關(guān)于批處理格式的問(wèn)題我查了很多資料,但是都沒(méi)有找到自己想要的答案。接上期,上篇博文我簡(jiǎn)單介紹了python操作Word的一些基本操作,本篇重點(diǎn)介紹如何批量將python中的文字導(dǎo)入到Word中,評(píng)設(shè)置其字體字號(hào)、間距、樣式等。

關(guān)鍵代碼

用python 處理docx文檔時(shí),想設(shè)置首行縮進(jìn)2字符,有的帖子給出用0.74CM代替,但設(shè)置字體后

# 首行縮進(jìn)0.74厘米,即2個(gè)字符
paragraph_format.first_line_indent = Cm(0.74)   
# 換行符
# docx.add_paragraph().add_run('\n')
# 換頁(yè)符
# docx.add_page_break()

一級(jí)標(biāo)題設(shè)置 

直接定義一個(gè)函數(shù),設(shè)置字體字號(hào)、段前斷后距,二級(jí)三級(jí)同理,其中可以把標(biāo)題看成一個(gè)段落。

# 設(shè)置1級(jí)標(biāo)題
def heading_1(str_b1):
    heading_1 = docx.add_heading('',level=1)#返回1級(jí)標(biāo)題段落對(duì)象,標(biāo)題也相當(dāng)于一個(gè)段落
    from docx.enum.text import WD_PARAGRAPH_ALIGNMENT 
    heading_1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 兩端對(duì)齊 
    heading_1.paragraph_format.space_before=Pt(0.5)#設(shè)置段前 0 磅
    heading_1.paragraph_format.space_after=Pt(0.5) #設(shè)置段后 0 磅
    heading_1.paragraph_format.line_spacing=1.5 #設(shè)置行間距為 1.5
    heading_1.paragraph_format.left_indent=Inches(0)#設(shè)置左縮進(jìn) 1英寸
    heading_1.paragraph_format.right_indent=Inches(0)#設(shè)置右縮進(jìn) 0.5 英寸
    run=heading_1.add_run(str_b1)
    run.font.name=u'宋體'    #設(shè)置為宋體
    run.font.name=u'Times New Roman'    #設(shè)置為宋體
    run._element.rPr.rFonts.set(qn('w:eastAsia'), u'Times New Roman')#設(shè)置為宋體,和上邊的一起使用
    run.font.size=Pt(16)#設(shè)置1級(jí)標(biāo)題文字的大小為“三號(hào)” 為16磅
    run.font.color.rgb=RGBColor(0,0,0)#設(shè)置顏色為黑色

 正文設(shè)置

代碼都差不多,只是說(shuō)標(biāo)題是add_heading;正文是段落add_paragrapha

# 設(shè)置正文格式
def text(str):
    paragrapha = docx.add_paragraph(str)
    # 將字體設(shè)置為12磅,即小四字體
    paragrapha.style.font.size = Pt(12)
    from docx.shared import Cm
    paragrapha.paragraph_format.first_line_indent = Cm(0.74)
    docx.styles['Normal'].font.name = 'Times New Roman'  
    docx.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體') 
    paragrapha.paragraph_format.first_line_indent = 2
    paragrapha.paragraph_format.space_before=Pt(0.5)#設(shè)置段前 0 磅
    paragrapha.paragraph_format.space_after=Pt(0.5) #設(shè)置段后 0 磅
    paragrapha.paragraph_format.line_spacing=1.15 #設(shè)置行間距為 1.5
    from docx.enum.text import WD_PARAGRAPH_ALIGNMENT 
    paragrapha.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT  # 兩端對(duì)齊

完整代碼

# -*- coding: utf-8 -*-
"""
Created on Sun May  7 18:28:34 2023
@author: ypzhao
"""
 
from docx import Document   #用來(lái)建立一個(gè)word對(duì)象
from docx.shared import Pt  #用來(lái)設(shè)置字體的大小
from docx.shared import Inches
from docx.oxml.ns import qn  #設(shè)置字體
from docx.shared import RGBColor  #設(shè)置字體的顏色
from docx.enum.text import WD_ALIGN_PARAGRAPH  #設(shè)置對(duì)其方式
import matplotlib.pyplot as plt  #導(dǎo)入繪圖模塊
 
 
plt.rcParams.update({'font.family': 'STIXGeneral','mathtext.fontset': 'stix'}) #設(shè)置stix字體
 
docx = Document(r'C:/Users/ypzhao/Desktop/訓(xùn)練/減速器.docx')
 
def test():
    print("this is a test")
test()
 
# 換行符
# docx.add_paragraph().add_run('\n')
# 換頁(yè)符
# docx.add_page_break()
 
 
# 設(shè)置1級(jí)標(biāo)題
def heading_1(str_b1):
    heading_1 = docx.add_heading('',level=1)#返回1級(jí)標(biāo)題段落對(duì)象,標(biāo)題也相當(dāng)于一個(gè)段落
    from docx.enum.text import WD_PARAGRAPH_ALIGNMENT 
    heading_1.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 兩端對(duì)齊 
    heading_1.paragraph_format.space_before=Pt(0.5)#設(shè)置段前 0 磅
    heading_1.paragraph_format.space_after=Pt(0.5) #設(shè)置段后 0 磅
    heading_1.paragraph_format.line_spacing=1.5 #設(shè)置行間距為 1.5
    heading_1.paragraph_format.left_indent=Inches(0)#設(shè)置左縮進(jìn) 1英寸
    heading_1.paragraph_format.right_indent=Inches(0)#設(shè)置右縮進(jìn) 0.5 英寸
    run=heading_1.add_run(str_b1)
    run.font.name=u'宋體'    #設(shè)置為宋體
    run.font.name=u'Times New Roman'    #設(shè)置為宋體
    run._element.rPr.rFonts.set(qn('w:eastAsia'), u'Times New Roman')#設(shè)置為宋體,和上邊的一起使用
    run.font.size=Pt(16)#設(shè)置1級(jí)標(biāo)題文字的大小為“三號(hào)” 為16磅
    run.font.color.rgb=RGBColor(0,0,0)#設(shè)置顏色為黑色
 
 
# 設(shè)置2級(jí)標(biāo)題
def heading_2(str_b2):
    heading_2 = docx.add_heading('',level=2)#返回1級(jí)標(biāo)題段落對(duì)象,標(biāo)題也相當(dāng)于一個(gè)段落
    
    heading_2.alignment=WD_ALIGN_PARAGRAPH.LEFT#設(shè)置為左對(duì)齊
 
    heading_2.paragraph_format.space_before=Pt(0.5)#設(shè)置段前 0 磅
    heading_2.paragraph_format.space_after=Pt(0.5) #設(shè)置段后 0 磅
    heading_2.paragraph_format.line_spacing=1.5 #設(shè)置行間距為 1.5
    heading_2.paragraph_format.left_indent=Inches(0)#設(shè)置左縮進(jìn) 1英寸
    heading_2.paragraph_format.right_indent=Inches(0)#設(shè)置右縮進(jìn) 0.5 英寸
    run=heading_2.add_run(str_b2)
    run.font.name=u'宋體'    #設(shè)置為宋體
    run.font.name=u'Times New Roman'    #設(shè)置為宋體
    run._element.rPr.rFonts.set(qn('w:eastAsia'), u'Times New Roman')#設(shè)置為宋體,和上邊的一起使用
    run.font.size=Pt(15)#設(shè)置1級(jí)標(biāo)題文字的大小為“小三號(hào)” 為15磅
    run.font.color.rgb=RGBColor(0,0,0)#設(shè)置顏色為黑色
 
 
# 設(shè)置3級(jí)標(biāo)題
def heading_3(str_b3):
    heading_3 = docx.add_heading('',level=3)#返回1級(jí)標(biāo)題段落對(duì)象,標(biāo)題也相當(dāng)于一個(gè)段落
    heading_3.alignment=WD_ALIGN_PARAGRAPH.LEFT#設(shè)置為左對(duì)齊
    heading_3.paragraph_format.space_before=Pt(0.5)#設(shè)置段前 0 磅
    heading_3.paragraph_format.space_after=Pt(0.5) #設(shè)置段后 0 磅
    heading_3.paragraph_format.line_spacing=1.5 #設(shè)置行間距為 1.5
    heading_3.paragraph_format.left_indent=Inches(0)#設(shè)置左縮進(jìn) 1英寸
    heading_3.paragraph_format.right_indent=Inches(0)#設(shè)置右縮進(jìn) 0.5 英寸
    run=heading_3.add_run(str_b3)
    run.font.name=u'宋體'    #設(shè)置為宋體
    run.font.name=u'Times New Roman'    #設(shè)置為宋體
    run._element.rPr.rFonts.set(qn('w:eastAsia'), u'Times New Roman')#設(shè)置為宋體,和上邊的一起使用
    run.font.size=Pt(14)#設(shè)置1級(jí)標(biāo)題文字的大小為“四號(hào)” 為14磅
    run.font.color.rgb=RGBColor(0,0,0)#設(shè)置顏色為黑色
 
 
# 設(shè)置正文格式
def text(str):
    paragrapha = docx.add_paragraph(str)
    # 將字體設(shè)置為12磅,即小四字體
    paragrapha.style.font.size = Pt(12)
    from docx.shared import Cm
    paragrapha.paragraph_format.first_line_indent = Cm(0.74)
    docx.styles['Normal'].font.name = 'Times New Roman'  
    docx.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋體') 
    paragrapha.paragraph_format.first_line_indent = 2
    paragrapha.paragraph_format.space_before=Pt(0.5)#設(shè)置段前 0 磅
    paragrapha.paragraph_format.space_after=Pt(0.5) #設(shè)置段后 0 磅
    paragrapha.paragraph_format.line_spacing=1.15 #設(shè)置行間距為 1.5
    from docx.enum.text import WD_PARAGRAPH_ALIGNMENT 
    paragrapha.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT  # 兩端對(duì)齊
 
 
    # p.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER  # 居中對(duì)齊  
    # p.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT  # 左對(duì)齊
    # p.alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT  # 右對(duì)齊
    # p.alignment = WD_PARAGRAPH_ALIGNMENT.DISTRIBUTE  # 分散對(duì)齊
 
str_b1 = "第一部分 設(shè)計(jì)任務(wù)書"
heading_1(str_b1)
str_b2 = "1.1 初始數(shù)據(jù)"
heading_2(str_b2)   
 
str = ("設(shè)計(jì)展開式二級(jí)直齒圓柱齒輪減速器,初始數(shù)據(jù)F = 3000N,V = 1.5m/s,D = 250mm,設(shè)計(jì)年限(壽命):8年,每天工作班制(8小時(shí)/班):1班制,每年工作天數(shù):300天,三相交流電源,電壓380/220V。")
 
text(str)
 
str_b2 = "1.2 設(shè)計(jì)步驟"
heading_2(str_b2)      
 
str =("""1.傳動(dòng)裝置總體設(shè)計(jì)方案\n2.電動(dòng)機(jī)的選擇,\n3.確定傳動(dòng)裝置的總傳動(dòng)比和分配傳動(dòng)比,\n4.計(jì)算傳動(dòng)裝置的運(yùn)動(dòng)和動(dòng)力參數(shù)
5.齒輪的設(shè)計(jì)
6.滾動(dòng)軸承和傳動(dòng)軸的設(shè)計(jì)
7.鍵聯(lián)接設(shè)計(jì)
8.箱體結(jié)構(gòu)設(shè)計(jì)
9.潤(rùn)滑密封設(shè)計(jì)
10.聯(lián)軸器設(shè)計(jì)
"""
)
text(str)
 
docx.add_page_break()
str_b1 = "第二部分 傳動(dòng)裝置總體設(shè)計(jì)方案"
heading_1(str_b1)
 
str_b2 = "2.1 傳動(dòng)方案特點(diǎn)"
heading_2(str_b2)
 
str = """1.組成:傳動(dòng)裝置由電機(jī)、減速器、工作機(jī)組成。
2.特點(diǎn):齒輪相對(duì)于軸承不對(duì)稱分布,故沿軸向載荷分布不均勻,要求軸有較大的剛度。
3.確定傳動(dòng)方案:選擇電動(dòng)機(jī)-展開式二級(jí)直齒圓柱齒輪減速器-工作機(jī)。
"""
text(str)
 
str_b2 = "2.2 計(jì)算傳動(dòng)裝置總效率"
heading_2(str_b2)
 
str = """0.993×0.972×0.992×0.96=0.859
?1為軸承的效率,?2為齒輪嚙合傳動(dòng)的效率,?3為聯(lián)軸器的效率,?4為工作裝置的效率。
"""
text(str)
 
docx.save('減速器.docx')

運(yùn)行結(jié)果

以上就是Python批量調(diào)整Word文檔中的字體、段落間距及格式的詳細(xì)內(nèi)容,更多關(guān)于Python調(diào)整Word格式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作示例

    Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作示例

    這篇文章主要介紹了Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作,結(jié)合實(shí)例形式分析了Python爬蟲爬取、解析電影票房數(shù)據(jù)并進(jìn)行圖表展示操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2020-03-03
  • Python網(wǎng)絡(luò)編程詳解(常用庫(kù)、代碼案例、環(huán)境搭建等)

    Python網(wǎng)絡(luò)編程詳解(常用庫(kù)、代碼案例、環(huán)境搭建等)

    網(wǎng)絡(luò)編程是Python中非常重要的一個(gè)領(lǐng)域,涉及到的常用庫(kù)包括socket、asyncio、http、requests、websockets等,下面我們將從常用庫(kù)、庫(kù)的詳細(xì)用法、完整代碼案例、依賴項(xiàng)、環(huán)境搭建、注意事項(xiàng)和常見問(wèn)題等方面,對(duì)Python網(wǎng)絡(luò)編程進(jìn)行詳細(xì)講解,需要的朋友可以參考下
    2025-03-03
  • 基于Django框架的rest_framework的身份驗(yàn)證和權(quán)限解析

    基于Django框架的rest_framework的身份驗(yàn)證和權(quán)限解析

    Django 是一個(gè)基于 Python 的 Web 框架,可讓您快速創(chuàng)建高效的 Web 應(yīng)用程序,這篇文章主要介紹了基于Django框架的rest_framework的身份驗(yàn)證和權(quán)限解析,需要的朋友可以參考下
    2023-05-05
  • Python 使用SMTP發(fā)送郵件的代碼小結(jié)

    Python 使用SMTP發(fā)送郵件的代碼小結(jié)

    python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對(duì)smtp協(xié)議進(jìn)行了簡(jiǎn)單的封裝,需要的朋友可以參考下
    2016-09-09
  • Python Matplotlib繪圖基礎(chǔ)知識(shí)代碼解析

    Python Matplotlib繪圖基礎(chǔ)知識(shí)代碼解析

    這篇文章主要介紹了Python Matplotlib繪圖基礎(chǔ)知識(shí)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Python實(shí)現(xiàn)的基于優(yōu)先等級(jí)分配糖果問(wèn)題算法示例

    Python實(shí)現(xiàn)的基于優(yōu)先等級(jí)分配糖果問(wèn)題算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的基于優(yōu)先等級(jí)分配糖果問(wèn)題算法,涉及Python針對(duì)列表的遍歷、判斷、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • python中g(shù)etsizeof和asizeof的區(qū)別小結(jié)

    python中g(shù)etsizeof和asizeof的區(qū)別小結(jié)

    本文詳細(xì)的介紹了getsizeof和asizeof的區(qū)別,這兩個(gè)函數(shù)都用于獲取對(duì)象的內(nèi)存占用大小,它們來(lái)自不同的庫(kù),下面就來(lái)詳細(xì)的介紹一下兩者的區(qū)別,感興趣的可以了解一下
    2025-09-09
  • 如何基于Python深度圖生成3D點(diǎn)云詳解

    如何基于Python深度圖生成3D點(diǎn)云詳解

    通常使用TOF等3d攝像頭采集的格式一般只是深度圖,下面這篇文章主要給大家介紹了關(guān)于如何基于Python深度圖生成3D點(diǎn)云的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Python 編碼規(guī)范(Google Python Style Guide)

    Python 編碼規(guī)范(Google Python Style Guide)

    本項(xiàng)目并非 Google 官方項(xiàng)目, 而是由國(guó)內(nèi)程序員憑熱情創(chuàng)建和維護(hù),對(duì)于想學(xué)習(xí)python的朋友可以參考一下
    2018-05-05
  • Python的多維空數(shù)組賦值方法

    Python的多維空數(shù)組賦值方法

    下面小編就為大家分享一篇Python的多維空數(shù)組賦值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

威海市| 慈利县| 新巴尔虎左旗| 东源县| 仪陇县| 渝北区| 界首市| 安溪县| 衡南县| 通榆县| 昂仁县| 海淀区| 越西县| 兰坪| 广西| 洮南市| 六盘水市| 德庆县| 祁连县| 建德市| 安康市| 吉林省| 福州市| 平潭县| 瓮安县| 连南| 赤壁市| 玛沁县| 荆州市| 阜南县| 龙胜| 金沙县| 堆龙德庆县| 新化县| 准格尔旗| 老河口市| 巧家县| 眉山市| 尉犁县| 班戈县| 花垣县|