在Word文档中,页面默认为纵向,有时我们需要将部分页面设置成横向。那么在Python-docx包中如何来实现那?笔者将分析使用WORD软件设置页面成横向的原理,然后总结了在python-docx包中的实现过程,并制作了思维导图。

01WORD软件中设置部分页面为横向

在Word文档中要使用“页面设置”来设置页面的方向。具体步骤如下,在指定页面上点解“页面布局”菜单里调出“页面设置”界面,点击纸张方向里的“横向”,在应用于里选择“插入点之后”,点击“确定”就可以了,操作过程见下图。
WORD软件页面设置成横向
生成的横向页面见下图
横向页面效果图
此时在docx文档中的第1页里添加了一个连续的分节符。也就是说,在docx文档中,设置页面纸张方向是通过添加连续的分节符,新建一个节并设置为指定纸张方向类实现的。同样在第2页里将光标后面的内容设置成纵向页面,见下图。
WORD软件将页面设置成纵向
最终生成了只有第2也是横向页面的效果。
WORD软件第2页设置成横向效果图
以上两个步骤将Word文档中的第2页设置成了横向。总之,在Word软件中要实现部分页面方向的改变,必须经过2个步骤。第一步,新建一个连续的节,改变纸张方向;第二步,再新建一个连续的节,恢复纸张方向。

02python-docx包设置部分页面为横向

python-docx包的add_section()可以添加一个新的节,section.orientation、section.page_width、section.page_height属性可以改变节纸张的方向。关于这些属性和方法的详细用法以及页面设置的内容可以参考文章python-docx页面设置python-docx节的添加、定位和分节符的设置
那么,我们采用第一部分的步骤尝试使用python实现改变部分页面的纸张方向,代码如下:
from docx import Documentfrom docx.enum.section import WD_ORIENTATION, WD_SECTION_START # 导入节方向和分解符类型document = Document() # 新建docx文档document.add_paragraph() # 添加一个空白段落section = document.add_section(start_type=WD_SECTION_START.CONTINUOUS) # 添加横向页的连续节section.orientation = WD_ORIENTATION.LANDSCAPE # 设置横向page_h, page_w = section.page_width, section.page_heightsection.page_width = page_w # 设置横向纸的宽度section.page_height = page_h # 设置横向纸的高度document.add_paragraph() # 添加第二个空白段落section = document.add_section(start_type=WD_SECTION_START.CONTINUOUS) # 添加连续的节section.orientation = WD_ORIENTATION.PORTRAIT # 设置纵向page_h, page_w = section.page_width, section.page_height # 读取插入节的高和宽section.page_width = page_w # 设置纵向纸的宽度section.page_height = page_h # 设置纵向纸的高度document.save('test.docx')代码运行后生成的docx文档效果见下图
python-docx实现第2页设置成横向效果图
可见使用python-docx包也可以将第2页设置成横向。所以,巧用连续类型节的特点,可以有效地将部分页面设置为横向。笔者总结了这部分内容,制作了思维导图见下图,希望对使用python-docx包进行纸张方向设置的网页提供参考。
python-docx部分页面设置横向思维导图
举报/反馈

小梁学编程

947获赞 185粉丝
专注于科学计算,GIS,编程,软件开发。
关注
0
0
收藏
分享