节将就python操作word的页眉页脚技巧做深入介绍。

使用页眉和页脚

python操作word的页眉页脚技巧做深入介绍

Word支持页眉和页脚。页眉是出现在每个页面的上边距区域中的文本,与文本主体分开,并且通常传达上下文信息,例如文档标题,作者,创建日期或页码。文档中的页眉在页面之间是相同的,内容上只有很小的差异,例如更改部分标题或页码。页眉也称为运行头。

一个页面页脚中的每个日日夜夜,只不过它出现在页面底部的页头类似。它不应与脚注混淆,脚注在页面之间不一致。为了简洁起见,这里经常使用术语标题来指代可以是页眉或页脚对象的内容,信任读者以理解它对两种对象类型的适用性。

访问节的标题

页眉和页脚与一个部分相关联; 这允许每个部分具有不同的页眉和/或页脚。例如,横向部分可能具有比纵向部分更宽的标题。

每个section对象都有一个.header属性,提供对该节的对象的访问:

>>>document = Document()

>>>section = document.sections[0]

>>>header = section.header

>>>header

甲目的是总是存在于Section.header,即使当没有报头该节限定。实际标头定义的存在表示为_Header.is_linked_to_previous:

>>>header.is_linked_to_previous

True

值为True表示对象不包含标题定义,该节将显示与上一节相同的标题。这种"继承"行为是递归的,因此"链接"标题实际上从具有标题定义的第一个前一部分获得其定义。此"链接"状态在Word UI中显示为 "与以前相同"。

新文档没有标题(在它包含的单个部分),因此 .is_linked_to_previous就是True这种情况。请注意,这种情况可能有点违反直觉,因为没有要链接的前一个节头。在此"无前一个标题"的情况下,不显示标题。

添加标题(简单情况)

只需编辑 对象的内容即可将标题添加到新文档中。一个对象是一个"故事"容器及其内容进行编辑,就像一个对象。请注意,与新文档一样,新标题已包含单个(空)段落:

>>>paragraph = header.paragraphs[0]

>>>paragraph.text = "Title of my document"

添加内容(甚至只是访问header.paragraphs)的行为添加了标头定义并

另请注意,添加内容(甚至只是访问header.paragraphs)的行为添加了标头定义并更改了以下状态.is_linked_to_previous:

>>>header.is_linked_to_previous

False

添加"分区"标题内容

具有多个"区域"的标题通常使用精心放置的制表位来完成。中心和右对齐"区域"所需的制表位是HeaderWord中潜在样式的一部分 ,但该样式不存在于默认python-docx 模板中,需要添加:

>>> from docx.enum.style import WD_STYLE_TYPE

>>> from docx.enum.text import WD_TAB_ALIGNMENT

>>>styles = document.styles

>>>style = styles.add_style("Header", WD_STYLE_TYPE.PARAGRAPH)

>>>style.base_style = styles["Normal"]

>>>tab_stops = style.paragraph_format.tab_stops

>>>tab_stops.add_tab_stop(Inches(3.25), WD_TAB_ALIGNMENT.CENTER)

>>>tab_stops.add_tab_stop(Inches(6.5), WD_TAB_ALIGNMENT.RIGHT)

如果您使用的是自定义模板而不是python-docx默认模板,那么在模板中定义该样式可能是有意义的。

一旦Header式存在时,突片用于分离左,中和右对齐头内容:

>>>paragraph = header.paragraphs[0]

>>>paragraph.text = "Left TextCenter TextRight Text"

>>>paragraph.style = document.styles["Header"]

突片用于分离左,中和右对齐头内容:

删除标题

可以通过分配True其 .is_linked_to_previous属性来删除不需要的标头:

>>>header.is_linked_to_previous = True

>>>header.is_linked_to_previous

True

True分配给 标题时,标题的内容将被不可逆转地删除.is_linked_to_previous。

理解多节文档中的标题

"刚开始编辑"方法适用于简单的情况,但为了理解多节文档中的标题行为,一些简单的概念将有所帮助。简而言之:

1. 每个部分都可以有自己的标头定义(但不必)。

2. 缺少标头定义的部分会继承之前部分的标头。当存在定义而不存在_Header.is_linked_to_previous定义时,该属性仅反映标头定义的False存在True。

3. 缺少标头定义是默认状态。新文档没有已定义的标题,也没有新插入的部分。.is_linked_to_previous报告 True这两种情况。

4. 如果_Header对象的内容具有标题定义,则它是自己的内容。如果不是,它的内容是第一现有节的不具有标题的定义。如果没有节具有标题定义,则在第一节中添加新节,并且所有其他节继承该节。这种添加标头定义是在第一次访问标头内容时发生的,可能是通过引用 header.paragraphs。

添加标题定义(一般情况)

可以通过赋予False其.is_linked_to_previous属性来为缺少一个节的节提供显式标头定义 :

>>>header.is_linked_to_previous

True

>>>header.is_linked_to_previous = False

>>>header.is_linked_to_previous

False

新添加的标头定义包含一个空段落。请注意,以这种方式保留标题偶尔会有用,因为它有效地"关闭"该部分的标题以及之后的标题,直到具有已定义标题的下一部分。

分配False给.is_linked_to_previous已具有标头定义的标头不会执行任何操作。

自动定位继承的内容

编辑标题的内容会编辑源标题的内容,同时考虑任何"继承"。因此,例如,如果第2节标题继承自第1节并且您编辑第2节标题,则实际上更改了第1节标题的内容。除非您首先明确指定False其.is_linked_to_previous属性,否则不会为第2节添加新的标头定义。

python 页眉页脚_python自动化办公:玩转word之页眉页脚秘笈-阿里云开发者社区相关推荐

  1. 利用python爬取飞猪信息_Python---20行代码爬取斗鱼平台房间数据(下)-阿里云开发者社区...

    在上一篇中,已经详细的讲解了如何获取数据,接下来是深度处理数据,这里调用xlsxwriter库来制作Excel表格. 工具:Python3.6.5,Pycharm 1.模块介绍 XlsxWriter模 ...

  2. python 获取excel文本框_Python自动化办公-Excel读取与操作

    实现自动化办公是许多同学学习Python的初衷,但对于有选择困难症而且基础相对薄弱的同学来讲,面对众多的教程,Python库,往往无从下手,本篇从实际应用的角度,给出一条能快速上手的学习及实操路线,以 ...

  3. Python 自动化办公-玩转 Word

    只要是简单重复的工作,就想办法用 Python 来帮你解决吧,人生苦短,你需要 Python. Word 是办公软件中使用频率非常高的软件之一了,假如你需要调整 100 个 Word 文档的格式保持统 ...

  4. python中引入sql的优点_引用sql-和引用sql相关的内容-阿里云开发者社区

    bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句 bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句. 具体使用方法如下: <pro ...

  5. python链表划分_《Python自然语言处理》——1.2 近观Python:将文本当做词链表-阿里云开发者社区...

    本节书摘来自异步社区<Python自然语言处理>一书中的第1章,第1.2节,作者[美]Steven Bird,Ewan Klein,Edward Loper, 陈涛,张旭,崔杨,刘海平 译 ...

  6. python高手之路第三版_《Python高手之路(第3版)》——1.3 版本编号-阿里云开发者社区...

    本节书摘来自异步社区<Python高手之路(第3版)>一书中的第1章,第1.3节,作者[法]Julien Danjou,王飞龙 译,更多章节内容可以访问云栖社区"异步社区&quo ...

  7. python 智能识别 商品_阿里云货架商品识别与管理Python SDK使用示例-阿里云开发者社区...

    概述 货架商品识别与管理(Retail Image Recognition)是基于深度学习.图像检测.图像识别等技术,为新零售品牌商/经销商提供AI商品识别能力的阿里云产品:适用于货架商品识别.陈列识 ...

  8. python的requests模块功能_《Python数据可视化编程实战》—— 1.7 安装requests模块-阿里云开发者社区...

    本节书摘来异步社区<Python数据可视化编程实战>一书中的第1章,第1.7节,作者:[爱尔兰]Igor Milovanović,更多章节内容可以访问云栖社区"异步社区" ...

  9. python与材料计算公式_《从问题到程序:用Python学编程和计算》——2.11 补充材料-阿里云开发者社区...

    本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第2章,第2.11节,作者 裘宗燕,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2 ...

最新文章

  1. 稀疏矩阵十字链表表示
  2. 百度编辑器修改,不让它自动替换html标签
  3. MAC电脑使用vue-cli脚手架搭建vue项目;mac使用脚手架vue-cli搭建vue项目
  4. android关键应用程序,Android应用程序的四个关键点
  5. 从实际业务中来,到落地业务建模中去
  6. 利用Pandas库进行简单的数据分析(数据清洗)
  7. 使用python命令行参数sys.argv 做bat脚本
  8. android sdk 最新国内镜像下载,【Android SDK Manager】SDk国内镜像下载地址
  9. 4WRLE27Q3-600M-4X/MXY/24A1比例先导方向阀
  10. 安装最新版 MySQL 8.0.30
  11. 项目实训--Unity多人游戏开发(九、PUN2学习记录)
  12. html required 无效,html5的input的required使用中遇到的问题及解决方法
  13. 手机为什么手机里的计算机没在桌面,为什么桌面图标不见了
  14. (FortiGate)飞塔防火墙快速初始化管理员密码
  15. 三星 N9006 note3 成功root
  16. 这套ai的思维让我感到了一个细思极恐的开源项目
  17. QQ 浏览器(iOS版)崩溃信息研究
  18. babe的l使用步骤记录
  19. Realme GT2大师探索版 ROOT 解锁BL教程
  20. #(二)、股市是混沌还是浑沌?

热门文章

  1. Android Studio调用百度地图(二):实现地图显示后台定位和步行导航
  2. 使用ROS驱动激光雷达YDLIDAR-G4的详细过程总结(教你避开使用的各种坑....)
  3. 1一9数字行书写法_数字1-9的标准写法-1~9的书写格式
  4. 开源邮件客户端_排名前6位的开源桌面电子邮件客户端
  5. 《月夜传奇》第一季音乐收集
  6. [OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}=
  7. Ext JS从零开始之二
  8. 5G/NR 网络共享(协议版)
  9. Spring/Boot/Cloud系列知识(2)——代理模式
  10. vue-awesome-swiper 设置autoHeight,最后不满一页也占了一页