Сообщить об ошибке.

Объект длинны Length модуля python-docx

Единицы измерения при чтении/назначении размеров в DOCX

Объекты длинны Length ведет себя как целое число int английских метрических единиц: 914400 в дюймах, 36000 в мм. Предоставляет собой удобные методы преобразования единиц измерения в виде свойств, доступных только для чтения.

  • length_object.mm: эквивалентная длина, выраженная в миллиметрах.
  • length_object.cm: эквивалентная длина, выраженная в сантиметрах.
  • length_object.pt: длина, выраженная в пунктах
  • length_object.inches: эквивалентная длина, выраженная в дюймах.
  • length_object.emu: эквивалентная длина, выраженная в английских метрических единицах.
  • length_object.twips: эквивалентная длина, выраженная в твипах.

Пример чтения значений объекта Length в нужных единицах:

>>> from docx import Document
# создаем пустой документ 
>>> doc = Document()
# смотрим ширину документа 
# в собственных единицах 
>>> doc.sections[0].page_width
# 7772400

# ширина документа в миллиметрах
>>> doc.sections[0].page_width.mm
# 215.9

# ширина документа в сантиметрах
>>> doc.sections[0].page_width.cm
# 21.59

Что бы установить значения, например в миллиметрах нужно воспользоваться одноименным классом из модуля python-docx:

Пример установки значений объекта Length в нужных единицах:

>>> from docx import Document
# импортируем классы единиц измерений
from docx.shared import Mm, Cm
# новый документ 
>>> doc = Document()
# устанавливаем ширину в миллиметрах
>>> doc.sections[0].page_width = Mm(150)
# смотрим что получилось
>>> doc.sections[0].page_width.mm
# 150.0011
>>> doc.sections[0].page_width.cm
# 15.00011