Управление частями текста в презентациях с помощью Python

Получить координаты частей текста

Метод get_coordinates был добавлен в класс Portion, который позволяет получать координаты частей текста:

import aspose.slides as slides

with slides.Presentation("HelloWorld.pptx") as presentation:
    shape = presentation.slides[0].shapes[0]
    text_frame = shape.text_frame

    for paragraph in text_frame.paragraphs:
        for portion in paragraph.portions:
            point = portion.get_coordinates()
            print("Corrdinates X =" + str(point.x) + " Corrdinates Y =" + str(point.y))

Часто задаваемые вопросы

Могу ли я применить гиперссылку только к части текста в одном абзаце?

Да, вы можете assign a hyperlink к отдельному фрагменту; только этот фрагмент будет кликабельным, а не весь абзац.

Как работает наследование стилей: что переопределяет Portion и что берётся из Paragraph/TextFrame?

Свойства уровня Portion имеют наивысший приоритет. Если свойство не задано у Portion, движок берёт его из Paragraph; если оно не задано и там, — из TextFrame или стиля theme.

Что произойдёт, если указанный для Portion шрифт отсутствует на целевой машине/сервере?

Применяются Font substitution rules. Текст может перераспределяться: могут измениться метрики, переносы и ширина, что важно для точного позиционирования.

Могу ли я задать прозрачность или градиент заливки текста для конкретного Portion независимо от остального абзаца?

Да, цвет текста, заливка и прозрачность на уровне Portion могут отличаться от соседних фрагментов.