亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python-docx 頁面設(shè)置詳解

 更新時間:2021年10月11日 08:29:59   作者:站著活  
今天小編就為大家分享一篇python docx 中頁面的設(shè)置,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

初識word文檔-節(jié)-的概念

編輯一篇word文檔,往往首先從頁面設(shè)置開始,從下圖可以看出,頁面設(shè)置常操作的有頁邊距、紙張方向、紙張大小4個,而在word中是以節(jié)(section)來分大的塊,每一節(jié)的頁面設(shè)置可以不同。所以在python-docx中也是一樣,當(dāng)前節(jié)的各項屬性全部保存在當(dāng)前的section中,要想設(shè)置當(dāng)前節(jié)的頁面就從了解section的各個屬性應(yīng)用開始吧。

在這里插入圖片描述

如果用python-docx新建一個空白文檔,那么默認(rèn)是只有一個節(jié)

>>> import docx
>>> doc = docx.Document()
>>> len(doc.sections)
1

,如果要增加節(jié)可以用doc.add_section()來完成。

>>> import docx
>>> doc = docx.Document()
>>> len(doc.sections)
1
>>> doc.add_section()
<docx.section.Section object at 0x000001F27F85E370>
>>> len(doc.sections)
2  

了解了節(jié)之后我們開始來對節(jié)的頁面進(jìn)行設(shè)置。

設(shè)置頁邊距

在python-docx包中常用頁邊距屬性存在section的以下4個屬性中:

section.top_margin:上頁邊距

section.bottom_margin:下頁邊距

section.left_margin:左頁邊距

section.right_margin:右頁邊距

頁邊距的值以厘米(cm)為單位,讓我們來看看剛才第二節(jié)的默認(rèn)的頁邊距是多少

>>> print('上',doc.sections[1].top_margin.cm,'下',doc.sections[1].bottom_margin.cm,'左',doc.sections[1].left_margin.cm,'右',doc.sections[1].right_margin.cm)
上 2.54 下 2.54 左 3.175 右 3.175

注,這里的sections[1]是第二節(jié)。

下面把頁邊距設(shè)置成我們公文常用的5678頁面距

>>> from docx.shared import Cm
>>> doc.sections[1].top_margin = Cm(3.7)
>>> doc.sections[1].bottom_margin = Cm(3.5)
>>> doc.sections[1].left_margin = Cm(2.8)
>>> doc.sections[1].right_margin = Cm(2.6)

這里要先導(dǎo)入docx中定義單位的Cm,后面常用的單位還有Pt 也是這個塊導(dǎo)入。

另外 頁邊距屬性還有3個不常用的就是裝訂線,頁眉、頁腳邊距分別為:section.gutter,section.header_distance, section.footer_distance ,設(shè)置方法同上,不再贅述。需要說明的是裝訂線還有一個位置屬性,暫時未發(fā)現(xiàn)如何設(shè)置,默認(rèn)為左,如果需求設(shè)置成右,可以建個模板docx文檔導(dǎo)入。

設(shè)置紙張方向和大小

Section中的三個屬性描述了頁面方向和尺寸。分別為:section.orientation, section.page_width, section.page_height

紙張大小設(shè)置單位我習(xí)慣用cm,設(shè)置同頁邊距。

這里要特別說下orientation,即紙張方向,也是要設(shè)置的,不能說你把紙張寬度設(shè)置寬了,高度設(shè)置低了紙張就變成橫向了,會影響打印等。

紙張方向的值是docx.enum.section.WD_ORIENTATION中枚舉類型的2常量來設(shè)置的。分別為:

WD_ORIENTATION.LANDSCAPE:紙張方向為橫向。

WD_ORIENTATION.PORTRAIT:紙張方向為縱向。

先查看下:

>>> doc.sections[0].page_height.cm
27.94
>>> doc.sections[0].page_width.cm
21.59
>>> doc.sections[0].orientation
0

默認(rèn)的是信紙大小,橫向

設(shè)置成我們常用的A4紙大小下:

from docx.shared import Cm
from docx.enum.section import WD_ORIENTATION
doc.sections[0].page_height = Cm(29.7)  # 設(shè)置A4紙的高度
doc.sections[0].page_width = Cm(21)  # 設(shè)置A4紙的寬
doc.sections[0].orientation = WD_ORIENTATION.PORTRAIT # 設(shè)置紙張方向為橫向,可以不設(shè)置 默認(rèn)為橫向
doc.sections[1].page_height = Cm(21)  # 設(shè)置A4紙的高度
doc.sections[1].page_width = Cm(29.7)  # 設(shè)置A4紙的寬
doc.sections[1].orientation = WD_ORIENTATION.LANDSCAPE # 設(shè)置紙張方向為縱向 

設(shè)置分欄

有些時候我們還要在某些節(jié)中分欄,給節(jié)設(shè)置分欄的語句比較固定,就是更改section的一個私有屬性。先導(dǎo)入docx.oxml.ns.qn,然后一句話搞定

from docx.oxml.ns import qn
doc.sections[1]._sectPr.xpath('./w:cols')[0].set(qn('w:num'), '2') #把第二節(jié)設(shè)置為2欄

想設(shè)置成幾欄 把‘2'就改成幾。  

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • python中的[1:]、[::-1]、X[:,m:n]和X[1,:]的使用

    python中的[1:]、[::-1]、X[:,m:n]和X[1,:]的使用

    本文主要介紹了python中的[1:]、[::-1]、X[:,m:n]和X[1,:]的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python爬取英雄聯(lián)盟MSI直播間彈幕并生成詞云圖

    Python爬取英雄聯(lián)盟MSI直播間彈幕并生成詞云圖

    很開心RNG最近在英雄聯(lián)盟季中賽奪冠了,特地爬取了直播間彈幕并生成詞云圖,大家一起開心一下,看看奪冠時大家都在說什么,需要的朋友可以參考下
    2021-06-06
  • python使用tkinter實現(xiàn)透明窗體

    python使用tkinter實現(xiàn)透明窗體

    一直在思索實現(xiàn)一個透明的窗體,然后可以基于這個窗體可以開發(fā)出各種好玩的應(yīng)用(如桌面運動的小人、運動的小球、截圖、錄制GIF等等),今天無意間居然讓我把其中一個最核心的技術(shù)難關(guān)突破了,我非常高興,也借這個機會跟大家分享一下。
    2021-05-05
  • Python中將列表轉(zhuǎn)化為鏈表的方法詳解

    Python中將列表轉(zhuǎn)化為鏈表的方法詳解

    這篇文章主要介紹了Python中將列表轉(zhuǎn)化為鏈表的方法詳解,本文的主要問題是輸入一組數(shù),將其按照順序添加到鏈表中,文中提供了解決思路與部分實現(xiàn)代碼,需要的朋友可以參考下
    2023-11-11
  • 在pycharm中設(shè)置顯示行數(shù)的方法

    在pycharm中設(shè)置顯示行數(shù)的方法

    今天小編就為大家分享一篇在pycharm中設(shè)置顯示行數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python中的self用法詳解

    Python中的self用法詳解

    在本篇文章里小編給大家整理的是關(guān)于Python中的self用法以及實例內(nèi)容,需要的朋友們參考下。
    2019-08-08
  • 華為校園招聘上機筆試題 撲克牌大小(python)

    華為校園招聘上機筆試題 撲克牌大?。╬ython)

    這篇文章主要為大家詳細(xì)介紹了華為校園招聘上機筆試題:撲克牌大小,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python基于callable函數(shù)檢測對象是否可被調(diào)用

    Python基于callable函數(shù)檢測對象是否可被調(diào)用

    這篇文章主要介紹了Python基于callable函數(shù)檢測對象是否可被調(diào)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • python讀取文本繪制動態(tài)速度曲線

    python讀取文本繪制動態(tài)速度曲線

    這篇文章主要為大家詳細(xì)介紹了python讀取文本繪制動態(tài)速度曲線,多圖同步顯示,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python selenium xpath定位操作

    python selenium xpath定位操作

    這篇文章主要介紹了python selenium xpath定位操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論