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

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

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

最近關于批處理格式的問題我查了很多資料,但是都沒有找到自己想要的答案。接上期,上篇博文我簡單介紹了python操作Word的一些基本操作,本篇重點介紹如何批量將python中的文字導入到Word中,評設置其字體字號、間距、樣式等。

關鍵代碼

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

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

一級標題設置 

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

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

 正文設置

代碼都差不多,只是說標題是add_heading;正文是段落add_paragrapha

# 設置正文格式
def text(str):
    paragrapha = docx.add_paragraph(str)
    # 將字體設置為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)#設置段前 0 磅
    paragrapha.paragraph_format.space_after=Pt(0.5) #設置段后 0 磅
    paragrapha.paragraph_format.line_spacing=1.15 #設置行間距為 1.5
    from docx.enum.text import WD_PARAGRAPH_ALIGNMENT 
    paragrapha.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT  # 兩端對齊

完整代碼

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

運行結果

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

相關文章

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

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

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

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

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

    基于Django框架的rest_framework的身份驗證和權限解析

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

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

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

    Python Matplotlib繪圖基礎知識代碼解析

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

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

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

    python中getsizeof和asizeof的區(qū)別小結

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

    如何基于Python深度圖生成3D點云詳解

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

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

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

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

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

最新評論

新乐市| 驻马店市| 托里县| 左权县| 阜新市| 平昌县| 沂源县| 嫩江县| 卢氏县| 东宁县| 通许县| 巴彦淖尔市| 柳林县| 新密市| 苏尼特左旗| 和平区| 平乡县| 克什克腾旗| 汕尾市| 论坛| 乡宁县| 社旗县| 库尔勒市| 屯昌县| 托克逊县| 额敏县| 通州市| 清徐县| 泽库县| 东乡族自治县| 孟连| 江城| 汉中市| 海门市| 会理县| 赣榆县| 平舆县| 商洛市| 榆社县| 沛县| 松滋市|