docx页眉页脚怎么设置,页面设置怎么设置页眉页脚

  docx页眉页脚怎么设置,页面设置怎么设置页眉页脚

  在word软件中,可以通过添加页眉或页脚打开页脚设置界面。具体步骤见下图。

  在WORD软件中添加页眉和页脚

  然而,在python-docx包中,节中的header和footer对象用于特定的设置。笔者将从五个方面来描述python-docx中页眉页脚的设置:页眉页脚内容的添加、对齐、页眉页脚的距离、奇数页和偶数页的区别、首页的区别。最后,作者会做一个这篇文章的思维导图。

  01页眉和页脚内容

  在python-docx中,应该先获取section对象。有关关节的详细信息,请参考文章python-docx关于添加、定位和设置分节符的部分。通过section.header和section.footer获取页眉和页脚对象在页眉和页脚中,内容是按段落添加的,比如:

  从docx导入文档document=document()# new document header=document . sections[0]。header #获取第一节的页眉打印( header中的默认段落数:,Len(header . paragraphs))paragraph=header . paragraphs[0]#获取页眉的第一段paragraph.add_run(这是第一节的页眉)#添加页面内容页脚=document.sections [0]。footer #获取第一节的页脚段落=footer.paragraphs [0] #获取第一节的页脚段落段落。Add _ run(这是第一节的页脚)#添加页脚内容document.save(test.docx) #保存文档。添加内容程序运行结果见下图:

  生成的文档效果如下图所示。

  默认情况下,test.docx文档中会添加一个节。默认情况下,段落会添加到节的页眉和页脚。默认情况下,段落内容左对齐。“这是第一节的页眉”或“这是第一节的页脚”被添加到该节的页眉和页面中。

  02设置对齐

  连接上一节。

  当docx文档包含多个部分时,默认情况下将从第二部分使用前一部分的内容和样式。代码如下:

  document=document( test . docx )document.add_section() #添加新节document . Add _ section()#添加第三节。运行后,docx文档有如下效果:

  添加节后默认链接上一节

  docx文档又增加了两节,共计三节,页面和页脚均显示“与上一节相同”。添加和设置段落内容时,如果不使用上一节的内容和样式,则应将header.is_linked_to_previous的属性或footer.is_linked_to_previous的属性设置为False,用于取消“链接上一节页眉”或“链接上一节页脚”。代码如下:

  Header=document.sections [1]。header #获取第2节的标题。标题。Is _ linked _ to _ previous=false #取消第2节的“链接到上一节标题”而不使用上一节的内容和样式。效果图如下

  取消第2部分与上一部分的链接

  由于第2节中取消了“链接到上一节页眉”,所以第2节中的页面是一个没有内容的新页眉,该节上不显示“与上一节相同”,而第3节中的“链接到上一节页眉”仍然有效,将显示第2节的内容,即没有内容。

  设置对齐方式

  页眉和页脚的内容是按段落添加的,因此您可以通过设置段落的对齐方式来对齐页眉或页脚。关于段落对齐等等,请参考文章python-docx段落设置。下面的代码分别设置text.docx文档中三个部分的对齐方式,代码如下:

  Header=document.sections [1]。header #获取第二节的页眉,演示header . is _ linked _ to _ previous=false #的对齐方式,不使用上一节的内容和样式,即reset paragraph=header . paragraphs[0]paragraph . add _ run(这是第二节的页眉)paragraph . alignment=wd _ paragraph _ alignment . center #设置页眉居中并与document.sections[1]对齐。footer . is _ linked _ to _ previous=false footer . paragraphs[0]。Add _ run(这是第2节的页脚)#添加第2节的页脚。段落[0]。alignment=wd _ paragraph _ alignment . center #设置第2节页眉=document.sections [2]页脚的居中对齐方式。Header #获取第3节的Header头。header . is _ linked _ to _ previous=false #获取段落paragraph.add_run(这是第三节的页眉)paragraph . alignment=wd _ paragraph _ alignment . right #在页眉中不使用上一节的内容和样式paragraph=header . paragraphs[0]#。设置页眉文档的右对齐方式。footer . is _ linked _ to _ previous=false footer . paragraphs[0]。Add _ run(这是第3节的页脚)#添加第3节的页脚。段落[0]。alignment=wd _ paragraph _ alignment . right #设置第3节页脚的右对齐方式。设置页眉页脚对齐后,效果如下:

  设置页眉和页脚对齐的渲染。

  在文档中,第一节的页眉和页脚内容左对齐,第二节居中,第三节右对齐。虽然在paragraph.alignment属性中还有其他对齐方式,但这三种主要用于页眉和页脚。

  03页眉和页脚距离

  section中的Header_distance属性可以用来设置页眉到顶部的距离,footer_distance属性用来设置页脚到底部的距离,对应word软件的位置,如下图所示。

  在docx文档中,默认的页眉和页脚距离顶部和底部1.27厘米。

  从docx.shared导入Cm #导入公司转换文档. sections [0]。footer _ distance=cm (3) #将页脚设置为3cm Document.sections [0]。Header _ distance=cm (4) #将页眉设置为4cm。改变页面与页脚的距离后,效果图如下

  更改页面和页脚之间的距离后的效果

  在文档中将页眉设置为4厘米,页脚设置为3厘米。

  04奇偶页不同。

  在python-docx中,可以使用document.settings中的odd _ and _ even _ pages _ header _ footer属性来设置奇数页和偶数页之间的差异。代码如下:

  document=document( test1 . docx )print(默认文档奇偶校验设置:,document . settings . odd _ and _ even _ pages _ header _ footer)document . settings . odd _ and _ even _ pages _ header _ footer=true设置文档的奇偶校验页面状态的结果如下:

  设置文档的奇偶页状态结果图表。

  文档效果见下图。

  设置文档的奇偶页状态渲染。

  在docx文档中,odd _ and _ even _ pages _ header _ footer属性默认为False,即文档的奇数页和偶数页相同。当设置为真时,开始奇偶页面差异。python-docx中包含的偶数页页眉对象section.even_page_header和偶数页页脚对象section.even _ page _ footer但是,没有奇数页的对象。当设置section.header或section.footer时,默认情况下在奇数页上设置。代码如下:

  从docx.shared导入pt,cm document=document( test1 . docx )#读取text1.docx文档print(默认文档奇偶校验页面设置:,document . settings . odd _ and _ even _ pages _ Header _ footer)#打印奇偶校验页面的不同状态document . settings . odd _ and _ even _ pages _ Header _ footer=true #不同的启动奇偶校验页面#添加段落以形成4页paragrams=document . paragraphs[0]for I in range(80):paragraph . insert _ paragraph _ before( str(I) paragraph )sectionalignment=wd _ paragraph _ alignment . left #将页眉的左对齐方式设置为section.footer.paragraphs[0]。alignment=wd _ paragraph _ alignment . left #设置页脚的左对齐方式even _ page _ header=section . even _ page _ header # Get even page run=even _ page _ header . paragraphs[0]。add_run(这是偶数页页眉)run.font.size=Pt(26) #设置偶数页页眉大小even _ page _ header.paragraphs [0]。alignment=wd _ paragraph _ alignment . right # Set header右对齐run=section . even _ page _ footer . paragraphs[0]。Add _ run(这是偶数页页脚)run.font.size=Pt(26) #设置偶数页页脚大小section . even _ page _ footer . paragraphs[0]。alignment=wd _ paragraph _ alignment . right #设置页眉的右对齐设置奇数页和偶数页不同的对齐效果,如下图所示。

  设置奇数页和偶数页的不同对齐效果。

  在文档中,奇数页左对齐,偶数页右对齐。文档中的所有页面都分为奇数页和偶数页。

  05首页不一样。

  设置要在节中使用的主页。

  different _ first _ page _ header _ footer对象,对应WORD软件位置,如下图所示。

  WORD软件设置主页不同。

  在文档的第一页上打印不同对象的状态,并打开代码,如下所示:

  添加不同_ first _ page _ header _ footer对象内容的代码如下:

  document=document( test2 . docx )section=document . sections[0]#获取第一节的对象打印(第一页与默认状态不同:,Section。不同的_首页_页眉_页脚)节。different _ first _ page _ header _ footer=true #设置在首页开始不同的打印,并在首页设置不同程序的运行结果如下图所示。

  不同首页启动后生成的文档效果见下图。

  启动后不同主页的效果图

  在docx文档中,默认情况下,不同的第一页页眉页脚是可变的。后一节中的对象分为两部分:首页和非首页。使用section.first_page_header获取对象的第一页。首页内容的添加代码如下:

  first _ page _ header=section . first _ page _ header #获取第一页对象run=first _ page _ header . paragraphs[0]。Add _ run(这是第一节页眉)#添加节页眉内容run.font.size=Pt(26) #设置第一页页眉的字体大小,便于演示文本内容First _ page _ header . paragraphs[0]。alignment=wd _ paragraph _ alignment . center #设置第一页页眉的居中对齐First _ page _ footer=section . First _ page _ footer # Get footer对象run=First _ page _ footer . paragraphs[0]。Add _ run(这是第一节的第一页页脚)# Add section的第一页页脚内容run.font.size=Pt(26) #设置第一页页脚字体大小,便于演示文本内容First _ page _ footer . paragraphs[0]。alignment=wd _ paragraph _ alignment . center #将第一页的页脚设置为居中,并与向第一页添加内容的效果对齐,如下图所示。

  添加主页内容渲染

  在第一部分中,添加第一页的页眉和页脚的内容,并设置为居中对齐。因为这个对象是section中的一个属性,所以使用的所有字段都是section,这意味着每个section的主页可以进行不同的设置。

  在docx包中,当第一页不同,奇数页和偶数页不同时,同一页可能会受到不同属性的影响。此时,设置优先级生效的顺序是第一页、不同奇偶页和普通页。

  作者从添加页眉页脚内容、对齐页眉页脚、页眉页脚距离、奇偶页差、首页差五个部分描述了python-docx包如何设置docx文档的页眉页脚,并做了思维导图,如下图所示。

  Python-docx页眉和页脚设置图

docx页眉页脚怎么设置,页面设置怎么设置页眉页脚