在WORD软件中对页面设置一般要先让光标移动到页面上,然后点击“页面布局”菜单的“页面设置”功能区进行设置,或者在“页面设置”属性框中设置,见下图。而在Python-docx包中要使用section对象中page_height、page_width、orientation、top_margin等属性来实现对页面大小,纸张,方向,页边距和装订线的设置。笔者将详细叙述使用python-docx包中对docx文档页面设置功能的实现,最后制作了思维导图。

WORD软件中页面设置

01页面大小

在python-docx包中要使用section.page_width和section.page_height属性来实现页面大小的读取和设置。在本文中由于要设置长度,所以要导入docx.shared. Cm等单位换算函数。例如:

from docx import Document # 导入docx包from docx.shared import Cm, Inches, Pt # 导入单位换算函数document = Document() # 新建word文档section = document.sections[0] # 获取section对象print('默认页面的宽度和高度:', section.page_width.cm,section.page_height.cm) # 打印默认页面宽度和高度section.page_width = Cm(40)section.page_height = Cm(40)print('修改后页面的宽度和高度:', section.page_width.cm,section.page_height.cm) # 打印修改后的页面宽度和高度document.save('test.docx') # 保存word文档打印默认页面大小结果如下图

页面大小修改前后结果图

修改后的效果见下图

页面大小修改后效果图

纸张默认大小同WORD软件中内置的信纸纸张大小相同。通过修改section.page_width和section.page_height属性的值将页面大小调整为高度40cm,宽度40cm。此时页面纸张大小类型为“自定义大小”。

02设置纸张

在Word软件中内置了很多纸张参数。那么笔者将以设置A4纸的形式演示使用python-docx设置纸张,见如下代码:

section.page_width = Cm(21) # 设置A4纸的宽度section.page_height = Cm(29.7) # 设置A4纸的高度运行后文档的效果见下图:

设置A4纸张效果图

只要将section.page_width和section.page_height属性按照A4纸的宽度和高度进行设置,WORD软件就会自动识别成A4纸。在WROD软件中内置很多中纸张的参数,可以通过“页面布局”菜单中“页面设置”功能区的“纸张大小”中进行查询,见下图:

WORD软件中内置纸张参数

03设置纸张方向

在Python-docx包中section.orientation属性可以设置纸张方向,这要使用docx.enum.section.WD_ORIENTATION中枚举类型的常量。WD_ORIENTATION共有2个常量,含义如下:

WD_ORIENTATION.LANDSCAPE:纸张方向为横向。WD_ORIENTATION.PORTRAIT:纸张方向为纵向。在Word文档中默认设置为纵向(PORTRAIT)。在python-docx包中如果只设置orientation属性,页面并不会改变方向。因为设置orientation属性并不会改变section.page_width和section.page_height属性值,页面也就不会发生变化。如下代码演示了将纸张从纵向设置为横向:

from docx.enum.section import WD_ORIENTATIONsection.orientation = WD_ORIENTATION.LANDSCAPE # 不会出现A4 旋转page_h, page_w = section.page_width, section.page_heightsection.page_width = page_w # 设置横向A4纸的宽度section.page_height = page_h # 设置横向A4纸的高度改变页面方向后的效果如下图:

更纸张访问为横向效果图

更改成横向纸张大小图

文档的纸张方向成功更改成了横向,纸张仍然是A4。既然只有将纸张的section.page_width和section.page_height属性进行修改才能显示更改的纸张方向,那么不设置orientation属性,只设置section.page_width和section.page_height属性会不会也能起到改变纸张方向的效果那?代码修改如下:

page_h, page_w = section.page_width, section.page_height # 提取页面的高度和宽度section.page_width = page_w # 设置A4纸的宽度,section.page_height = page_h # 设置A4纸的高度只改变纸张的宽度和高度,效果图如下

只改变页面的大小

此时文档从效果上看确实是改成了横向。此时查看纸张的方向,仍然是纵向,纸张大小却是“A4 旋转”。从效果上看只设置section.page_width和section.page_height属性也能起到改变纸张方向的效果。

04设置页面边距

在python-docx包中设置页边距要用到section.top_margin、section.bottom_margin、section.left_margin和section.right_margin四个属性。含义如下:

section.top_margin:上页边距section.bottom_margin:下页边距section.left_margin:左页边距section.right_margin:右页边距只需读取或者改变这四个属性的值就可以实现对页边距读取和设置,代码如下:

print("页面上边距:", section.top_margin.cm)print("页面下边距:", section.bottom_margin.cm)print("页面左边距:", section.left_margin.cm)print("页面右边距:", section.right_margin.cm)# 修改后section.top_margin = Cm(5)section.bottom_margin = Cm(5)section.left_margin = Cm(4)section.right_margin = Cm(4)页面边距测试结果图下图

页边距设置结果图

页边距更改效果如下图

页边距更改后的效果图

docx文档中默认页边距是上、下边距为2.54cm,左、右边距为3.175cm,更改后上下、页边距变成了5cm,左、右页边距变成了4cm。

05设置装订线

使用section.gutter属性可以设置装订线的位置,将装订线的位置设置为1cm代码如下:

print('设置装订前', section.gutter.cm)section.gutter = Cm(1)print('设置装订线后:', section.gutter.cm)运行结果如下图

装订线设置后的结果图

设置1cm装订线的文档效果如下图

设置1cm装订线的文档效果图

页面中默认装订线是0cm,经过设置后文档的装订线位置更改为了1cm。

笔记先后总结了页面大小、纸张设置、页边距和装订线4个部分部分,制作了思维导图,见下图。希望为使用python-docx包进行页面设置的同行提供参考。

python-docx页面设置

pythondocx_python-docx页面设置相关推荐

  1. python docx页面设置_python-docx指定页面设置成横向

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

  2. python docx文档页面设置---->纵向转横向

    最近需要docx页面输出,需要将正常纵向页面转为横向页面,查了一些资料,发现很多都是科普的解释,并没有讲出具体怎么做,现在贴出我实现的代码. 需要引入的: from docx import Docum ...

  3. 计算机二级word保存要不要加.docx,计算机二级word实操题.docx

    题目1: 1. 调整文档版面,要求页面高度18厘米.宽度30厘米,页边距(上.下)为2厘米,页边距(左.右)为3厘米. [解题步骤] 步骤1:启动考生文件夹下的WORD.DOCX文件. 步骤2:根据题 ...

  4. 电大计算机应用模块四实2010,国家开放大学《计算机应用基础》考试与答案形考任务模块2Word2010文字处理系统—客观题测验答案.docx...

    Word 2010 上机操作题(共 5 题, 4 分/ 题) 输入下列文字并以 Word1.docx 名存盘: 内容提要 ** 建筑艺术是表现性艺术,通过面.体形.体量.空间.群体和环境处理等多种艺术 ...

  5. 2018安徽省计算机一级试题答案,2018年计算机等一级考试试题100题及参考答案.docx...

    2018年计算机等一级考试试题100题及参考答案.docx 文档编号:395397 文档页数:14 上传时间: 2018-09-03 文档级别:精品资源 文档类型:docx 文档大小:28.84KB ...

  6. 计算机应用基础文字处理测试题,国家开放大学《计算机应用基础》考试与答案形考任务模块2Word2010文字处理系统—客观题测验答案.docx...

    文档介绍: Word2010上机操作题(共5题,4分/题)输入下列文字并以Word1.docx名存盘:内容提要**建筑艺术是表现性艺术,通过面.体形.体量.空间.群体和环境处理等多种艺术语言,创造情绪 ...

  7. 计算机二级地15套题答案,计算机二级第15套答案解析.docx

    Word 15 答案 1 .[解析] 打开考生文件夹下的"Word 素材 .docx"文件.单击"文 件" |"另存为"按钮, 打开&quo ...

  8. Java 给Word不同页面设置不同背景

    Word文档中,可直接通过[设计]-[页面颜色]页面颜色,通过Java代码可参考如下设置方法: 1. 设置单一颜色背景 doc.getBackground().setType(BackgroundTy ...

  9. 大学计算机基础方案一,《大学计算机基础》实验实施方案-学生用汇.docx

    <大学计算机基础>实验实施方案-学生用汇 <大学计算机基础>实验课程实施方案一.实验内容实验名称地点班级时数教学方法实验一 Windows的基本操作黄岭校区勤工楼2实践一.实验 ...

  10. 大学计算机基础实验实施,大学计算机基础实验实施的方案学生用.docx

    大学计算机基础实验实施的方案学生用 <大学计算机基础>实验课程实施方案一.实验内容实验名称地点班级时数教学方法实验一 Windows的基本操作黄岭校区勤工楼2实践一.实验目的1.掌握Win ...

最新文章

  1. 谷歌邮箱上不了的情况下怎么登录谷歌邮箱
  2. C++ demo:文本搜索以及'指针的引用'的思考
  3. 不少朋友在安装IDES 4.71的过程中都遇到了下面的出错提示:
  4. Slog45_项目上线之域名的购买
  5. Mac环境下安装Sass
  6. 故障码123401_P0221故障码故障原因和解决方法
  7. git回退历史版本无法上传_git下载历史版本
  8. 展示魅力东莞,传递亚运激情
  9. OpenCV模板匹配函数:matchTemplate()介绍
  10. 获取oracle自增长id,ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号...
  11. MyBatis的XML配置文件(三)
  12. 红帽学习笔记[RHCSA] 第七课[网络配置相关]
  13. 用JavaScript验证密码强度
  14. 风雨三十载,华为的沉浮往事
  15. C语言求素数的几种方法
  16. 如何用运营思维,搭建会员运营体系
  17. 随机生成20以内加减法,5次答题并统计正确和错误题数
  18. mysql performance tuning_Performance Tuning MySQL
  19. i7运行linux虚拟机会卡吗,i7 7200 linux 虚拟机
  20. 芋道源码 精尽学习指南

热门文章

  1. 麦肯锡最新调查:大多数公司缺乏人工智能的基础设施
  2. 运维工程师必会工具:nmap
  3. 小米手机驱动程序安装教程
  4. 1-2路由器基本配置命令
  5. 刷qcn工具|大部分机型qcn文件集合|亲测有效
  6. 教育oa系统到底有没有必要?
  7. 斯诺登质疑 WikiLeaks 发布泄密材料的方法
  8. RA4M2开发(4)----读取ISL29035数据,并在OLED上显示,串口打印
  9. HTML实现友好提示框(带尖角的框)
  10. 搜楼网-四大问题,租办公室不得不注意!