Создание презентаций в 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. Приведённый ниже короткий пример кода иллюстрирует этот процесс, добавляя простую форму на первый слайд.
- Создайте экземпляр класса Presentation .
- Получите первый слайд по индексу 0.
- Добавьте AutoShape типа ShapeType.Cloud с помощью ShapeCollection.addAutoShape .
- Установите текст формы, используя TextFrame.setText .
- Сохраните презентацию, вызвав 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.