登录
首页 >  文章 >  python教程

Python-docx设置页面大小教程

时间:2026-02-23 14:18:48 176浏览 收藏

本文详解了在 python-docx 中正确设置 Word 文档页面尺寸(如页宽、页高)的核心要点:page_width 和 page_height 是可直接赋值的属性而非可调用方法,误加括号会导致常见的 “'Twips' object is not callable” 错误;必须使用 Inches()、Cm() 等 Length 类型对象赋值,并注意同步调整页边距以确保排版合理——掌握这一属性思维,就能快速避开陷阱,精准控制文档布局。

如何在 python-docx 中正确设置 Word 文档页面尺寸

在使用 python-docx 修改页面宽度或高度时,常见错误是将 `page_width` 和 `page_height` 当作可调用方法(如 `section.page_width(...)`),而实际上它们是可赋值的属性,需直接赋值 `Inches()` 对象。

python-docx 库中,文档的页面布局参数(如页宽、页高、页边距等)均以属性(property)形式暴露,而非方法(method)。因此,对 section.page_width 或 section.page_height 使用圆括号调用会触发 TypeError: 'Twips' object is not callable —— 因为底层 Twips 类型对象不支持调用操作。

✅ 正确写法如下:

from docx import Document
from docx.shared import Inches

doc = Document()
section = doc.sections[0]

# ✅ 正确:直接赋值(属性设置)
section.page_width = Inches(5)
section.page_height = Inches(5)

⚠️ 注意事项:

  • Inches() 是 python-docx 提供的单位封装类,也可使用 Cm()、Pt() 或原始 Twips 值(1 inch = 1440 twips),但推荐使用语义化单位;
  • 修改 page_width/page_height 后,若需同步调整页边距以避免内容溢出,建议一并检查 section.left_margin、section.right_margin 等;
  • doc.sections 默认至少包含一个节(Section),无需显式调用 add_section() 即可访问 doc.sections[0];
  • 所有尺寸属性均为 Length 类型实例(如 Inches(5) 返回 Length 对象),不可传入浮点数或字符串。

? 小技巧:可通过 print(section.page_width.inches) 验证设置是否生效。

总结:牢记 page_width、page_height、top_margin 等均为可读写属性,而非函数——这是避免 'Twips' object is not callable 错误的关键。

本篇关于《Python-docx设置页面大小教程》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>