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

使用Python輕松管理Word節(jié)及頁面布局設(shè)置

 更新時間:2026年04月17日 08:27:11   作者:站大爺IP  
這篇文章主要為大家詳細(xì)介紹了如何使用Python輕松管理Word節(jié)及頁面布局設(shè)置,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

?小李盯著剛寫完的80頁項目報告,眉頭擰成一團。前面的章節(jié)都是標(biāo)準(zhǔn)縱向排版,但中間有兩張數(shù)據(jù)表實在太寬,放在縱向頁面里,字小得得拿放大鏡看。他試過把這兩頁改成橫向,結(jié)果整個文檔都跟著轉(zhuǎn)了,完全亂套。

這其實是Word里一個特別經(jīng)典的問題。大部分人都在“頁面布局”里點來點去,改了一頁,后面全跟著變,氣得想摔鼠標(biāo)。秘密就藏在Word的一個核心概念里——節(jié)(Section)。

一、你以前的操作,問題出在哪

新建一個Word文檔時,它只有一個“節(jié)”。你可以把“節(jié)”想象成一個容器,這個容器里裝著幾頁紙,這幾頁紙的頁邊距、紙張方向、頁眉頁腳全都一樣。平時在一份文檔里隨便改設(shè)置,改的就是整個容器。把第二頁改成橫向,相當(dāng)于把這個唯一的容器整個翻轉(zhuǎn)了,后面的頁面當(dāng)然跟著亂套。

想要中間幾頁與眾不同,就得在特殊頁面的前后“切一刀”,制造出新的容器。有了三個獨立的容器(節(jié)),你改中間那個,兩頭的不會受影響。

二、用Python看見“節(jié)”

紙上談兵沒意思,直接上手操作。python-docx就是干這活的利器。

from docx import Document

# 打開小李的報告
doc = Document('項目報告.docx')

# 看看這個文檔里有多少個“容器”(節(jié))
print(len(doc.sections))  # 不出意外,打印出來是 1

# 拿到第一個(也是唯一的)節(jié)
first_section = doc.sections[0]

這段代碼就像給文檔做了個CT掃描。文檔結(jié)構(gòu)一目了然。默認(rèn)情況下,你永遠(yuǎn)只有一個節(jié),也就是doc.sections[0]

三、在你想分頁的地方,“切”上一刀

小李需要在第3頁后面 插入一個橫向的大表格。這意味著要在第3頁結(jié)束的地方,切出一個新節(jié)。

from docx import Document
from docx.enum.section import WD_SECTION_START

doc = Document('項目_report.docx')

# 假設(shè)文檔已經(jīng)有3頁內(nèi)容了,我們在這后面創(chuàng)建新節(jié)
# 注意:add_section() 是在文檔末尾追加新節(jié)
# 如果你想在中間插入,邏輯稍微不同,但核心是下面這行
new_section = doc.add_section(WD_SECTION_START.NEW_PAGE)

# 此時,doc.sections 的長度變成了 2
# sections[0] 是原來的第一頁到第三頁
# sections[1] 就是我們新建的空節(jié),從新的一頁開始

add_section()就像一把刀,在文檔末尾切出一個獨立的新空間。WD_SECTION_START.NEW_PAGE的意思是,切完之后,新節(jié)的內(nèi)容從新的一頁開始。

四、給新節(jié)“換衣服”

現(xiàn)在有了獨立的容器(第二節(jié)),怎么改它的設(shè)置都不會影響前面的內(nèi)容。

# 獲取第二個節(jié)(索引為1)
target_section = doc.sections[1]

from docx.enum.section import WD_ORIENTATION
from docx.shared import Inches

# 獲取當(dāng)前紙張的寬高,準(zhǔn)備交換(縱向變橫向)
original_width = target_section.page_width
original_height = target_section.page_height

# 設(shè)置方向為橫向
target_section.orientation = WD_ORIENTATION.LANDSCAPE

# 交換寬高
target_section.page_width = original_height
target_section.page_height = original_width

# 再把頁邊距調(diào)窄一點,給大表格騰地方
target_section.left_margin = Inches(0.5)
target_section.right_margin = Inches(0.5)

doc.save('項目_report_已排版.docx')

執(zhí)行完這段代碼,文檔中間的這幾頁就神奇地變成了橫向,前后的縱向排版紋絲不動。這就是“節(jié)”的魔力。

五、頁眉頁腳的獨立王國

更頭疼的是頁眉頁腳。公司要求封面不能有頁碼,目錄要用羅馬數(shù)字,正文要用阿拉伯?dāng)?shù)字從“1”開始。

原理一模一樣:每個“節(jié)”的頁眉頁腳默認(rèn)是“鏈接到前一節(jié)”的。想要獨立,得先“斷開關(guān)聯(lián)”。

# 假設(shè)現(xiàn)在有3個節(jié):封面節(jié)、目錄節(jié)、正文節(jié)
# 我們操作第三節(jié)(正文)的頁腳

third_section = doc.sections[2]

# 關(guān)鍵一步:斷開與前一節(jié)(目錄)的鏈接
third_section.footer.is_linked_to_previous = False

# 現(xiàn)在可以放心設(shè)置正文的頁碼了
# 注意:設(shè)置頁碼格式涉及到操作頁腳里的域代碼
footer = third_section.footer
# ... 在這里添加頁碼并設(shè)置起始為1

拿到第三節(jié)的頁腳后,執(zhí)行is_linked_to_previous = False,這根“臍帶”就被剪斷了。從此以后,正文節(jié)的頁碼跟目錄節(jié)的頁碼再也沒關(guān)系,各走各的。

還有一個常用功能是“首頁不同”。有的章節(jié)開頭那一頁不想顯示頁眉,這個設(shè)置也是掛在“節(jié)”下面的。

section = doc.sections[0]
section.different_first_page_header_footer = True

# 單獨設(shè)置首頁頁眉
first_page_header = section.first_page_header
first_page_header.paragraphs[0].text = "封面不留頁眉"

# 其他頁面的正常頁眉
other_pages_header = section.header
other_pages_header.paragraphs[0].text = "內(nèi)部資料"

打開different_first_page_header_footer開關(guān)后,Word就會把這個節(jié)的首頁和其他頁分開對待,你可以分別往里面填內(nèi)容。

六、批量修改,降維打擊

學(xué)會了控制“節(jié)”,能玩的花樣就多了。比如公司換了新logo,要批量給幾百份標(biāo)書統(tǒng)一加上“機密”水印和頁眉。

import os
from docx import Document

folder_path = './reports/'

for filename in os.listdir(folder_path):
    if filename.endswith('.docx'):
        doc = Document(os.path.join(folder_path, filename))
        
        # 遍歷每一個節(jié)
        for section in doc.sections:
            # 強制斷開頁眉鏈接,防止有些文檔設(shè)置過特殊屬性
            section.header.is_linked_to_previous = False
            
            header = section.header
            # 清空原來的頁眉
            header.paragraphs[0].clear()
            # 寫入新內(nèi)容
            header.paragraphs[0].text = "XX集團 絕密文件"
            
        doc.save(os.path.join(folder_path, 'new_' + filename))

一個循環(huán),遍歷所有節(jié),幾秒鐘完成幾百個文件的手工活兒。

七、把大象放進(jìn)冰箱

回過頭看小李遇到的麻煩。把Word里的一頁單獨改變布局,就像把大象放進(jìn)冰箱,也是分三步:

  • 打開冰箱門:用sections屬性看到文檔的結(jié)構(gòu)。
  • 把大象放進(jìn)去:用add_section()在目標(biāo)位置切出新的節(jié)。
  • 把冰箱門關(guān)上:修改新節(jié)的orientation、margin等屬性。

理解了“節(jié)”這個概念,Word自動化的大門才算真正推開了。頁眉頁腳、頁碼格式、分欄布局,全都建立在這個基礎(chǔ)上。以后遇到再復(fù)雜的排版需求,心里就有底了——無非就是切幾刀,改幾個參數(shù)的事。

這份技能在手里,不管是一份80頁的報告,還是800頁的標(biāo)書,用Python管理起來都格外輕松。

?以上就是使用Python輕松管理Word節(jié)及頁面布局設(shè)置的詳細(xì)內(nèi)容,更多關(guān)于Python管理Word節(jié)和頁面布局的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用Python庫高效自動化處理圖像的操作過程

    使用Python庫高效自動化處理圖像的操作過程

    本文將介紹兩個強大的Python圖像處理庫:Pillow(PIL的fork版本)和OpenCV,并通過實例展示如何使用它們實現(xiàn)各種圖像處理自動化任務(wù),感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • Python小整數(shù)對象池和字符串intern實例解析

    Python小整數(shù)對象池和字符串intern實例解析

    這篇文章主要介紹了Python小整數(shù)對象池和字符串intern實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Python深拷貝與淺拷貝引用

    Python深拷貝與淺拷貝引用

    這篇文章主要介紹了Python深拷貝與淺拷貝引用,Python并沒有拷貝這個對象,而只是拷貝了這個對象的引用,下文具體的相關(guān)介紹需要的小伙伴可以參考一下
    2022-04-04
  • Python機器學(xué)習(xí)之邏輯回歸

    Python機器學(xué)習(xí)之邏輯回歸

    這篇文章主要介紹了Python機器學(xué)習(xí)之邏輯回歸,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)Python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • Python實現(xiàn)Web請求與響應(yīng)的教學(xué)指南

    Python實現(xiàn)Web請求與響應(yīng)的教學(xué)指南

    Web?請求與響應(yīng)是?Web?通信的基礎(chǔ),其中?Web?請求由客戶端發(fā)起,服務(wù)器處理后返回響應(yīng),本文主要介紹了Python實現(xiàn)Web請求與響應(yīng)的相關(guān)知識,有需要的可以了解下
    2025-05-05
  • python3+PyQt5重新實現(xiàn)QT事件處理程序

    python3+PyQt5重新實現(xiàn)QT事件處理程序

    這篇文章主要為大家詳細(xì)介紹了python3+PyQt5重新實現(xiàn)QT事件處理程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python九九乘法表的實例

    python九九乘法表的實例

    下面小編就為大家?guī)硪黄猵ython九九乘法表的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Django通過自定義認(rèn)證后端實現(xiàn)多種登錄方式驗證

    Django通過自定義認(rèn)證后端實現(xiàn)多種登錄方式驗證

    Django提供了用戶認(rèn)證系統(tǒng),那么如何在項目中進(jìn)行應(yīng)用呢?在本文中小編將給大家介紹如何使用用戶認(rèn)證系統(tǒng),實現(xiàn)我們業(yè)務(wù)場景中常見的多種登錄方式驗證。感興趣的小伙伴可以了解一下
    2021-12-12
  • Python實現(xiàn)簡單的四則運算計算器

    Python實現(xiàn)簡單的四則運算計算器

    相信大家在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)時,就學(xué)習(xí)了簡單四則運算表達(dá)式求解的一個算法,可惜一直沒有自己動手實現(xiàn)過這個算法。最近重拾數(shù)據(jù)結(jié)構(gòu)與算法,恰巧又正在用Python比較頻繁,所幸就用它來實現(xiàn)這個算法,雖然網(wǎng)上有很多代碼,不過作為一個學(xué)習(xí)者,還是應(yīng)當(dāng)親自動手實現(xiàn)。
    2016-11-11
  • 淺談pycharm出現(xiàn)卡頓的解決方法

    淺談pycharm出現(xiàn)卡頓的解決方法

    今天小編就為大家分享一篇淺談pycharm出現(xiàn)卡頓的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論

清水县| 合江县| 泾川县| 眉山市| 弥勒县| 昌平区| 南陵县| 阿鲁科尔沁旗| 潜江市| 濮阳市| 焉耆| 宜黄县| 灵宝市| 民丰县| 柳林县| 天等县| 丰台区| 澎湖县| 隆回县| 永年县| 永城市| 锡林浩特市| 江城| 电白县| 如东县| 闽侯县| 许昌市| 淮南市| 银川市| 万年县| 增城市| 罗江县| 义马市| 平邑县| 常德市| 岐山县| 洪泽县| 洛隆县| 天柱县| 定兴县| 江油市|