#python #python-pptx
#python #python-pptx
Вопрос:
Какова единица числа, которое мы получаем из prs.slides [4].shapes [3].width, где prs — объект презентации в python-pptx? В справке указаны английские метрические единицы, но цифры, которые я получаю, этому не соответствуют.
Ответ №1:
Английская метрическая единица (EMU) — это 1/914400 дюйма, выбранная (или, возможно, изобретенная) Microsoft, потому что она позволяет указывать положение и размер графического объекта (фигуры) как целое число (и, следовательно, избегать вычислений с плавающей запятой, вероятно, в основном связанных с производительностью), в то же время позволяя выражать расстояния в дюймах (английский) и метре (метрический) в виде точных целых чисел.
Коэффициентов 914400 много, но они определенно включают 25,4 (мм в дюйме), 72 (точки в дюйме); все 2, 4, 8, 16 и 32 (все обычные дробные дюймы) и 100 (т.е. десятичные дюймы с разрешением .01 «, обычно доступным в пользовательском интерфейсе PowerPoint на американском английском языке.
Как правило, объект, возвращаемый свойством shape distance (слева, сверху, ширина, высота), является подклассом Emu
объекта, который обладает свойствами .inches
, .pts
.cm
и .mm
который выполнит для вас преобразование в float
общепринятые единицы измерения. Итак, что-то вроде:
>>> shape.width.cm
2.54
>>> shape.width.inches
1.0
>>> shape.width.pts
72.0
Комментарии:
1. Спасибо @scanny. Информация была действительно полезной.