Создание презентаций в Python через Java

Обзор

В этой статье показано, как создать презентацию с помощью Aspose.Slides for Python via Java, добавить форму с текстом на первый слайд и сохранить результат в файл PPTX. В разделе FAQ рассматриваются форматы вывода, шаблоны, размер слайдов, использование памяти, многопоточность, лицензирование, цифровые подписи и поддержка VBA.

Прежде чем начать, установите Python, JDK, JPype и Aspose.Slides for Python via Java. См. Установка для инструкций по Windows, Linux и macOS.

Создание презентации

Создание файла PowerPoint с нуля в Aspose.Slides for Python via Java так же просто, как создание экземпляра класса Presentation . Конструктор автоматически предоставляет пустую презентацию с одним слайдом, давая вам сразу холст для фигур, текста, диаграмм или любого другого содержимого, необходимого вашему приложению. После изменения этого слайда — или добавления новых — вы можете сохранить результат в формат PPTX, устаревший PPT или даже OpenDocument. Приведённый ниже короткий пример кода иллюстрирует этот процесс, добавляя простую форму на первый слайд.

  1. Создайте экземпляр класса Presentation .
  2. Получите первый слайд по индексу 0.
  3. Добавьте AutoShape типа ShapeType.Cloud с помощью ShapeCollection.addAutoShape .
  4. Установите текст формы, используя TextFrame.setText .
  5. Сохраните презентацию, вызвав Presentation.save с параметром SaveFormat.Pptx .

Следующий пример запускает Java Virtual Machine (JVM), если он ещё не запущен, добавляет форму облака с текстом на первый слайд и сохраняет презентацию. Сохраните его как create_presentation.py:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat, ShapeType

# Создать презентацию с одним пустым слайдом.
presentation = Presentation()
try:
    # Получить первый слайд.
    slide = presentation.getSlides().get_Item(0)

    # Добавить форму облака и задать её текст.
    auto_shape = slide.getShapes().addAutoShape(ShapeType.Cloud, 20, 20, 200, 80)
    auto_shape.getTextFrame().setText("Hello, Aspose!")

    # Сохранить презентацию в файл PPTX.
    presentation.save("new_presentation.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Запустите скрипт в среде, где вы установили пакеты:

python create_presentation.py

Левый верхний угол облака находится на расстоянии 20 пунктов от левого и верхнего краёв слайда, а облако имеет ширину 200 пунктов и высоту 80 пунктов. Скрипт сохраняет new_presentation.pptx в текущий рабочий каталог, создавая один слайд, содержащий облако и его текст. JVM продолжает работать, пока не завершится процесс Python; см. Ограничения и различия API. Без лицензии Aspose.Slides также добавляет текстовое поле с оценочной водяной меткой на каждый сохраняемый слайд; см. Лицензирование .

Результат:

Новая презентация

FAQ

В какие форматы я могу сохранить новую презентацию?

Вы можете сохранять в форматы PPTX, PPT и ODP, а также экспортировать в PDF, XPS, HTML, SVG и изображения, и др.

Могу ли я начать с шаблона (POTX/POTM) и сохранить как обычный PPTX?

Да. Загрузите шаблон и сохраните в нужный формат; форматы POTX/POTM/PPTM и аналогичные поддерживаются .

Как контролировать размер/соотношение сторон слайда при создании презентации?

Установите размер слайда (включая предустановки, такие как 4:3 и 16:9, или пользовательские размеры) и выберите способ масштабирования содержимого.

В каких единицах измеряются размеры и координаты?

В пунктах: 1 дюйм равен 72 единицам.

Как обрабатывать очень большие презентации (с множеством медиафайлов) для снижения использования памяти?

Используйте стратегии управления BLOB, ограничивайте хранение в памяти с помощью временных файлов и отдавайте предпочтение потокам работы с файлами вместо полностью в‑памяти потоков.

Могу ли я создавать/сохранять презентации параллельно?

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

Как удалить пробную водяную метку и ограничения?

Примените лицензию один раз на процесс. XML лицензии должен оставаться без изменений, а настройка лицензии должна быть синхронизирована, если задействовано несколько потоков.

Могу ли я цифрово подписать создаваемый PPTX?

Да. Цифровые подписи (добавление и проверка) поддерживаются для презентаций.

Поддерживаются ли макросы (VBA) в созданных презентациях?

Да. Вы можете создавать/редактировать проекты VBA и сохранять файлы с включёнными макросами, такие как PPTM/PPSM.