ограничить размеры таблицы до размеров заполнителя таблицы в python-pptx - PullRequest
0 голосов
/ 18 июня 2019

я пытаюсь добавить таблицу в презентацию, используя python-pptx с определенными размерами

я создал макет слайда из power-point, который содержит заполнитель таблицы в нужной области, и загрузил его, используяpython-pptx.

slide_layout

, но независимо от размеров заполнителя, сама таблица после создания превышает заполнитель.

в основном этозависит от количества строк в соответствии с документацией «Высота таблицы определяется количеством строк.»

shape_id, name, height = self.shape_id, self.name, Emu (rows * 370840)

Я попытался обновить файл placeholder.py вручную и изменить высоту строки, но отображается тот же вывод.

shape_id, name, height = self.shape_id, self.name, Emu (строки *)18429)

таблица настаивает на превышении области заполнителя согласно изображению ниже

output

ниже мой код, какие-либо подсказки?

from pptx import Presentation
# the presentation including the table placeholder
prs = Presentation('Presentation2.pptx')
slide1 = prs.slides.add_slide(prs.slide_layouts[11])
table_placeholder = slide1.shapes[0]
shape = table_placeholder.insert_table(rows=22,cols=2)
prs.save('test.pptx')

1 Ответ

1 голос
/ 18 июня 2019

Таблицы в PowerPoint расширяются по вертикали для размещения новых строк; это просто способ, которым они работают. Вам нужно будет изменить размер самостоятельно, что может оказаться сложной задачей. Это не та же проблема, когда пользователь создает таблицу в приложении, потому что он просто вносит коррективы для подгонки, пока она не будет выглядеть лучше для их целей.

Вам нужно будет настроить размер шрифта и высоту строки и, возможно, другие атрибуты, такие как ширина столбца и т. Д., В зависимости от вашего приложения и любых эвристик, которые вы можете разрешить, возможно, связанных с количеством строк и длиной текста в определенных ячейках. и т. д.

Заполнитель таблицы действительно просто дает начальную позицию и ширину.

...