MS PowerPoint — это многофункциональное приложение, позволяющее создавать интерактивные презентации с использованием диаграмм, графики, анимации и других элементов. Как программист, вам может понадобиться автоматизировать функции управления презентациями PowerPoint из приложений Python. В этом посте вы узнаете, как создавать презентации PowerPoint PPT или PPTX на Python. Кроме того, мы расскажем, как программно добавлять в презентации слайды, текст, таблицы, изображения и диаграммы.
- Библиотека Python для создания PowerPoint PPT
- Создайте PPT в PowerPoint
- Открыть существующую презентацию
- Добавить слайд в презентацию
- Добавить текст в презентацию
- Создать таблицу в презентации
- Создайте диаграмму в презентации
- Добавить изображение в презентацию
Библиотека Python для создания PowerPoint PPT
Aspose.Slides for Python через .NET — это мощная библиотека Python, которая позволяет создавать и управлять PowerPoint PPT/PPTX без MS Office. Более того, вы можете обновлять существующие презентации и преобразовывать их в другие форматы. Вы можете установить библиотеку из PyPI с помощью следующей команды pip.
> pip install aspose.slides
Создайте PowerPoint PPT на Python
Во-первых, давайте создадим презентацию PowerPoint с пустым слайдом, который добавляется по умолчанию. Следующие шаги показывают, как создать PowerPoint PPT в Python.
- Сначала создайте экземпляр класса Presentation.
- Затем сохраните PPT, используя метод Presentation.save(string, export.SaveFormat).
В следующем примере кода показано, как создать файл PowerPoint PPTX в Python.
import aspose.slides as slides
# Create a new presentation
with slides.Presentation() as presentation:
# Access the default slide
slide = presentation.slides[0]
# Save the presentation
presentation.save("create-presentation.pptx", slides.export.SaveFormat.PPTX)
Откройте файл PowerPoint PPTX в Python
Вы также можете открыть существующую презентацию и обновить ее содержимое. Для этого вам нужно только указать путь к файлу презентации в конструкторе презентации. В следующем примере кода показано, как открыть существующий файл PPT/PPTX в Python.
import aspose.slides as slides
# Open presentation
with slides.Presentation("presentation.ppt") as presentation:
# Access the default slide
slide = presentation.slides[0]
# Save the presentation
presentation.save("create-presentation.ppt", slides.export.SaveFormat.PPT)
Добавить слайд в PowerPoint PPT на Python
Давайте теперь добавим новый слайд в презентацию, которую мы создали ранее. Вы также можете добавить слайды в существующую презентацию таким же образом, сначала открыв презентацию (как показано в предыдущем разделе). Ниже приведены шаги по добавлению слайда в презентацию PPT/PPTX в Python.
- Сначала создайте новую (или загрузите существующую) презентацию, используя класс Presentation.
- Затем получите ссылку на коллекцию слайдов, используя свойство Presentation.slides.
- Добавьте слайд с помощью метода Presentation.slides.addemtyslide(LayoutSlide).
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, export.SaveFormat).
В следующем примере кода показано, как добавить слайд в презентацию PowerPoint в Python.
import aspose.slides as slides
# Create a new presentation
with slides.Presentation() as pres:
# Get reference of slides
slds = pres.slides
# Loop through layout slides
for i in range(len(pres.layout_slides)):
# Add an empty slide to the slides collection
slds.add_empty_slide(pres.layout_slides[i])
# Do some work on the newly added slide
# Save the PPTX file to the Disk
pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)
Добавить текст в PowerPoint PPT на Python
После того, как мы добавили слайд, мы можем приступить к добавлению содержимого. Во-первых, давайте посмотрим, как добавить текст к слайдам презентации в Python.
- Создайте новый (или загрузите существующий) PPT/PPTX, используя класс Presentation.
- Получите ссылку на слайд из коллекции Presentation.slides.
- Добавьте новую автоматическую фигуру на слайд с помощью метода Slide.shapes.addautoshape(slides.ShapeType.RECTANGLE, int, int, int, int) и получите ссылку на фигуру в объекте.
- Добавьте текстовый фрейм к фигуре, используя метод addtextframe(string).
- Доступ к абзацу по умолчанию текстового фрейма.
- Получите доступ к части абзаца по умолчанию.
- Добавьте текст в часть и сохраните презентацию с помощью метода Presentation.save(string, export.SaveFormat).
В следующем примере кода показано, как добавить текст на слайд в PPT с помощью Python.
import aspose.slides as slides
# Create presentation
with slides.Presentation() as pres:
# Access first slide
slide = pres.slides[0]
# Add an AutoShape with type set as Rectangle
ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50)
# Add TextFrame to the Rectangle
ashp.add_text_frame(" ")
# Access the text frame
txtFrame = ashp.text_frame
# Create the Paragraph object for text frame
para = txtFrame.paragraphs[0]
# Create a Portion object for paragraph
portion = para.portions[0]
# Set text
portion.text = "Aspose TextBox"
# Save the presentation
pres.save("add-text-in-presentation.pptx", slides.export.SaveFormat.PPTX)
Ниже приведен скриншот слайда после добавления текста.
Подробнее о работе с текстом в презентациях PowerPoint.
Создать таблицу в PowerPoint PPT на Python
Таблицы являются неотъемлемой частью документов и широко используются в презентациях PowerPoint. Aspose.Slides для Python значительно упрощает создание таблицы в презентации. Итак, давайте посмотрим, как создать таблицу в PPT с помощью Python.
- Создайте новый (или загрузите существующий) PPT/PPTX, используя класс Presentation.
- Получите ссылку на слайд из коллекции Presentation.slides.
- Определите массивы столбцов с шириной и строк с высотой.
- Создайте таблицу с помощью Slide.shapes.addTable() и получите ссылку на таблицу в объекте.
- Прокрутите ячейки, чтобы применить форматирование.
- Добавьте текст в ячейки, используя свойство Table.rows[][].textframe.text.
- Сохраните презентацию с помощью метода Presentation.save(string, export.SaveFormat).
В следующем примере кода показано, как создавать таблицы в презентации PowerPoint с помощью Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation
with slides.Presentation() as pres:
# Access first slide
slide = pres.slides[0]
# Define columns with widths and rows with heights
dblCols = [50, 50, 50]
dblRows = [50, 30, 30, 30, 30]
# Add table shape to slide
tbl = slide.shapes.add_table(100, 50, dblCols, dblRows)
# Set border format for each cell
for row in range(len(tbl.rows)):
for cell in range(len(tbl.rows[row])):
tbl.rows[row][cell].cell_format.border_top.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_top.fill_format.solid_fill_color.color = drawing.Color.blue
tbl.rows[row][cell].cell_format.border_top.width = 5
tbl.rows[row][cell].cell_format.border_bottom.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_bottom.fill_format.solid_fill_color.color= drawing.Color.blue
tbl.rows[row][cell].cell_format.border_bottom.width =5
tbl.rows[row][cell].cell_format.border_left.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_left.fill_format.solid_fill_color.color =drawing.Color.blue
tbl.rows[row][cell].cell_format.border_left.width = 5
tbl.rows[row][cell].cell_format.border_right.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_right.fill_format.solid_fill_color.color = drawing.Color.blue
tbl.rows[row][cell].cell_format.border_right.width = 5
# Merge cells 1 & 2 of row 1
tbl.merge_cells(tbl.rows[0][0], tbl.rows[1][1], False)
# Add text to the merged cell
tbl.rows[0][0].text_frame.text = "Merged Cells"
# Save the presentation
pres.save("add-table-in-presentation.pptx", slides.export.SaveFormat.PPTX)
Ниже приведен вывод приведенного выше фрагмента кода.
Изучите другие возможности создания таблиц и управления ими.
Создайте диаграмму в PowerPoint PPT на Python
Ниже приведены шаги по добавлению диаграммы в презентацию PowerPoint на Python.
- Создайте новую (или загрузите существующую) презентацию, используя класс Presentation.
- Получите ссылку на слайд из коллекции Presentation.slides.
- Добавьте диаграмму нужного типа с помощью метода Slide.shapes.addChart(ChartType, single, single, single, single).
- Получите доступ к рабочему листу данных диаграммы.
- Очистите все серии и категории по умолчанию.
- Добавляйте новые серии и категории.
- Добавьте новые данные диаграммы для серий диаграмм.
- Установите цвет заливки для серии диаграммы.
- Добавьте метки серий диаграмм.
- Сохраните презентацию в виде файла PPTX.
В следующем примере кода показано, как добавить диаграмму в PPT с помощью Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation
with slides.Presentation() as pres:
# Access first slide
slide = pres.slides[0]
# Access first slide
sld = pres.slides[0]
# Add chart with default data
chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)
# Set chart Title
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# Set first series to Show Values
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Set the index of chart data sheet
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete default generated series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
s = len(chart.chart_data.series)
s = len(chart.chart_data.categories)
# Add new series
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type)
# Add new categories
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"))
# Take first chart series
series = chart.chart_data.series[0]
# Now populating series data
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# Set fill color for series
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.red
# Take second chart series
series = chart.chart_data.series[1]
# Now populating series data
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 2, 30))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60))
# Setting fill color for series
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.orange
# First label will be show Category name
lbl = series.data_points[0].label
lbl.data_label_format.show_category_name = True
lbl = series.data_points[1].label
lbl.data_label_format.show_series_name = True
# Show value for third label
lbl = series.data_points[2].label
lbl.data_label_format.show_value = True
lbl.data_label_format.show_series_name = True
lbl.data_label_format.separator = "/"
# Save the presentation
pres.save("create-chart-in-presentation.pptx", slides.export.SaveFormat.PPTX)
На следующем снимке экрана показана диаграмма, которую мы создали с помощью приведенного выше фрагмента кода.
Подробнее о создании диаграмм в презентациях PowerPoint.
Добавить изображение в PowerPoint PPTX в Python
Ниже приведены шаги для добавления изображения в PowerPoint PPTX в Python.
- Создайте новую (или загрузите существующую) презентацию, используя класс Presentation.
- Получите ссылку на слайд из коллекции Presentation.slides.
- Откройте изображение из файла с помощью метода open(string, string).
- Добавьте изображение в коллекцию изображений презентации, используя метод Presentation.images.addimage().
- Добавьте изображение на слайд с помощью метода Slide.shapes.addpictureframe().
- Сохраните презентацию с помощью метода Presentation.save(string, export.SaveFormat).
В следующем примере кода показано, как добавить изображение в презентацию PowerPoint в Python.
import aspose.slides as slides
# Create presentation
with slides.Presentation() as pres:
# Access first slide
slide = pres.slides[0]
# Load image from file
with open("python-logo.png", "rb") as in_file:
# Add image to presentation's image collection
image = pres.images.add_image(in_file)
# Add image to slide
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)
# Save the presentation
pres.save("add-image-in-presentation.pptx", slides.export.SaveFormat.PPTX)
Ниже приведен вывод приведенного выше примера кода.
Узнайте больше о работе с изображениями в презентациях PowerPoint.
Получить бесплатную лицензию
Вы можете использовать Aspose.Slides для Python через .NET без ограничений по оценке, получив временную лицензию.
Вывод
В этой статье вы узнали, как создать PowerPoint PPT/PPTX с нуля в Python. Мы продемонстрировали, как добавлять слайды, текст, таблицы, диаграммы и изображения в презентации PowerPoint. Кроме того, вы можете изучить другие функции Aspose.Slides для Python, используя документацию. Кроме того, не стесняйтесь делиться с нами своими вопросами через наш форум.