Короткий ответ - использование paragraph.text
, а не run.text
:
for paragraph in shape.text_frame.paragraphs:
print(paragraph.text)
Абзац - это связный блок текста, который проходит между полями без вертикального разрыва.Это пользовательское различие, потому что оно влияет на то, как мы читаем контент.Прогон - это последовательность символов с одинаковым форматированием символов (т. Е. Шрифт, но включающий жирный, курсив и т. Д.).Прогон - это техническое различие, потому что их границы не должны быть очевидны для читателя;они просто используются, чтобы сказать PowerPoint «применить это форматирование символов ко всем этим символам».
Если вы печатаете каждый прогон отдельно, они будут ломаться в, казалось бы, случайных местах в абзаце, в зависимости, по крайней мере, от того, где курсив повернутвключается и выключается, но также часто в других местах, например, где кто-то отредактировал добавить несколько символов.PowerPoint не обязательно минимизирует количество прогонов, даже если два последовательных прогона имеют одинаковое форматирование.Следовательно, они имеют тенденцию размножаться.