Презентации MS PowerPoint позволяют создавать слайд-шоу, содержащие текст, изображения, диаграммы, анимацию и другие элементы. Различные дополнительные параметры форматирования позволяют сделать ваши презентации более привлекательными. В этом посте вы узнаете, как программно создавать такие презентации. Вы узнаете, как создавать презентации PPTX с текстом, таблицами, изображениями и диаграммами с помощью C#.
- С# API PowerPoint
- Создать презентацию PowerPoint
- Откройте существующую презентацию PowerPoint
- Добавить слайд в презентацию
- Добавить текст на слайд презентации
- Создать таблицу в презентации
- Создайте диаграмму в презентации
- Добавить изображение в презентацию
C# API PowerPoint — скачать бесплатно
Aspose.Slides for .NET — это API для работы с презентациями, который позволяет создавать документы PowerPoint и управлять ими из приложений .NET. API предоставляет почти все возможные функции, необходимые для реализации как базовых, так и расширенных функций автоматизации PowerPoint. Вы можете либо скачать API, либо установить его через NuGet.
Install-Package Aspose.Slides.NET
Создание презентации PowerPoint на C#
Начнем с создания пустой презентации PowerPoint с помощью Aspose.Slides для .NET. Ниже приведены шаги для этого.
- Создайте экземпляр класса Презентация.
- Сохраните его как PPTX, используя метод Presentation.Save(String, SaveFormat).
В следующем примере кода показано, как создать презентацию PowerPoint на C#.
// Создание экземпляра объекта Presentation, представляющего файл презентации
using (Presentation presentation = new Presentation())
{
// Получить первый слайд
ISlide slide = presentation.Slides[0];
// Добавить содержимое на слайд...
// Сохранить презентацию
presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}
Откройте существующую презентацию PowerPoint на C#
Вам не нужно прилагать дополнительные усилия, чтобы открыть существующую презентацию PowerPoint. Просто укажите путь к файлу PPTX конструктору класса Presentation, и все готово. В следующем примере кода показано, как открыть существующую презентацию PPTX.
// Открытие файла презентации путем передачи пути к файлу конструктору класса Presentation
Presentation pres = new Presentation("OpenPresentation.pptx");
// Печать общего количества слайдов в презентации
System.Console.WriteLine(pres.Slides.Count.ToString());
Добавить слайд в презентацию на C#
После того, как вы создали презентацию, вы можете начать добавлять в нее слайды. Ниже приведены шаги по добавлению слайда в презентацию с помощью Aspose.Slides для .NET.
- Создайте экземпляр класса Presentation.
- Создайте экземпляр класса ISlideCollection, установив ссылку на свойство Presentations.Slides.
- Добавьте пустой слайд в презентацию с помощью метода Slide.AddEmptySlide(ILayoutSlide), предоставляемого объектом ISlideCollection.
- Сохраните файл презентации с помощью метода Presentation.Save(String, SaveFormat).
В следующем примере кода показано, как добавить слайд в презентацию PowerPoint с помощью C#.
// Создать экземпляр класса Presentation, который представляет файл презентации
using (Presentation pres = new Presentation())
{
// Создать экземпляр класса SlideCollection
ISlideCollection slds = pres.Slides;
for (int i = 0; i < pres.LayoutSlides.Count; i++)
{
// Добавить пустой слайд в коллекцию слайдов
slds.AddEmptySlide(pres.LayoutSlides[i]);
}
// Сохраните файл PPTX на диск
pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);
}
Вставка текста в слайд с помощью C#
Теперь мы можем добавить содержимое к слайдам в презентации PowerPoint. Давайте сначала добавим фрагмент текста на слайд, используя следующие шаги.
- Создайте новую презентацию, используя класс Presentation.
- Получите ссылку на слайд в презентации.
- Добавьте IAutoShape с ShapeType в качестве прямоугольника в указанной позиции слайда.
- Получите ссылку на этот недавно добавленный объект IAutoShape.
- Добавьте TextFrame в автофигуру, содержащую текст по умолчанию.
- Сохраните презентацию в виде файла PPTX.
В следующем примере кода показано, как добавить текст на слайд в презентации с помощью C#.
// Создать экземпляр PresentationEx// Создать экземпляр PresentationEx
using (Presentation pres = new Presentation())
{
// Получить первый слайд
ISlide sld = pres.Slides[0];
// Добавьте автофигуру прямоугольного типа
IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);
// Добавьте TextFrame в прямоугольник
ashp.AddTextFrame(" ");
// Доступ к текстовому фрейму
ITextFrame txtFrame = ashp.TextFrame;
// Создайте объект Paragraph для текстового фрейма
IParagraph para = txtFrame.Paragraphs[0];
// Создать объект части для абзаца
IPortion portion = para.Portions[0];
// Установить текст
portion.Text = "Aspose TextBox";
// Сохранить презентацию на диск
pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
Создать таблицу в презентации с помощью C#
Aspose.Slides for .NET предоставляет простой способ создания таблицы в документе презентации. Ниже приведены шаги для этого.
- Создайте экземпляр класса Презентация.
- Получите ссылку на слайд, используя его индекс.
- Определите массивы столбцов с шириной и строк с высотой.
- Добавьте таблицу на слайд с помощью метода Slide.Shapes.AddTable(), предоставляемого объектом IShapes, и получите ссылку на таблицу в экземпляре ITable.
- Переберите каждую ячейку, чтобы применить форматирование.
- Добавьте текст в ячейки, используя свойство Table.Rows[][].TextFrame.Text.
- Сохраните презентацию в виде файла PPTX.
В следующем примере кода показано, как создать таблицу на слайде презентации PowerPoint.
// Создать экземпляр класса Presentation, который представляет файл PPTX.
Presentation pres = new Presentation();
// Доступ к первому слайду
ISlide sld = pres.Slides[0];
// Определите столбцы с шириной и строки с высотой
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Добавить форму таблицы на слайд
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// Установите формат границы для каждой ячейки
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// Объединить ячейки 1 и 2 строки 1
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);
// Добавить текст в объединенную ячейку
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";
// Сохранить PPTX на диск
pres.Save("table.pptx", SaveFormat.Pptx);
Создать диаграмму в презентации с помощью C#
Ниже приведены шаги по добавлению диаграммы в презентацию PowerPoint с помощью C#.
- Создайте экземпляр класса Презентация.
- Получить ссылку на слайд по индексу.
- Добавьте диаграмму нужного типа с помощью метода ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single).
- Добавьте заголовок диаграммы.
- Получите доступ к рабочему листу данных диаграммы.
- Очистите все серии и категории по умолчанию.
- Добавляйте новые серии и категории.
- Добавьте новые данные диаграммы для серий диаграмм.
- Установите цвет заливки для серии диаграммы.
- Добавьте метки серий диаграмм.
- Сохраните презентацию в виде файла PPTX.
В следующем примере кода показано, как добавить диаграмму в презентацию с помощью C#.
// Создать экземпляр класса Presentation, который представляет файл PPTX.
Presentation pres = new Presentation();
// Доступ к первому слайду
ISlide sld = pres.Slides[0];
// Добавить диаграмму с данными по умолчанию
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Настройка заголовка диаграммы
// Chart.ChartTitle.TextFrameForOverriding.Text = "Образец заголовка";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Установите первую серию для отображения значений
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Установка индекса листа данных диаграммы
int defaultWorksheetIndex = 0;
// Получение листа данных диаграммы
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Удалить сгенерированные по умолчанию серии и категории
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;
// Добавление новой серии
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);
// Добавление новых категорий
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// Возьмите первую серию графиков
IChartSeries series = chart.ChartData.Series[0];
// Заполнение данных серии
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));
// Установка цвета заливки для серии
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;
// Возьмем вторую серию графиков
series = chart.ChartData.Series[1];
// Заполнение данных серии
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));
// Установка цвета заливки для серии
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;
// Первая метка будет отображать название категории
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;
lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;
// Показать значение для третьего ярлыка
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
// Сохранить презентацию с диаграммой
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);
Узнайте больше о презентационных диаграммах здесь.
Добавить изображение в презентацию
Ниже приведены шаги для добавления изображений на слайд презентации.
- Создайте новую презентацию, используя класс Presentation.
- Прочитайте изображение SVG, используя метод File.ReadAllText (путь строки).
- Добавьте изображение на слайд с помощью метода Presentation.Slides[0].Shapes.AddPictureFrame(ShapeType shapeType, float x, float y, float width, float height, IPPImage image).
- Сохраните презентацию.
В следующем примере кода показано, как добавить изображение в презентацию на C#.
// Создать презентацию
using (var p = new Presentation())
{
// Читать изображение
var svgContent = File.ReadAllText("image.svg");
// Добавить изображение в коллекцию изображений
var emfImage = p.Images.AddFromSvg(svgContent);
// Добавить изображение на слайд
p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
// Сохранить презентацию
p.Save("presentation.pptx", SaveFormat.Pptx);
}
Вывод
В этой статье вы узнали, как создавать презентации PowerPoint с нуля с помощью C#. Кроме того, вы узнали, как добавлять слайды, текст, таблицы, изображения и диаграммы в новые или существующие презентации PPTX. Вы можете узнать больше об API, используя документацию.
Смотрите также
- Защита презентаций PowerPoint PPTX с помощью C#
- Создание презентаций MS PowerPoint в ASP.NET
- Преобразование изображений PowerPoint PPTX/PPT в PNG в C#
- Установите фон слайда в презентациях PowerPoint с помощью С#
- Создавайте миниатюры для PowerPoint PPTX или PPT с помощью C#
- Применение анимации к тексту в PowerPoint с помощью C#
- Разделить презентации PowerPoint с помощью C#
Совет: Помимо создания слайдов или презентаций, Aspose.Slides предоставляет много функций, которые позволяют вам работать с презентациями. Например, используя собственные API, Aspose разработала бесплатную онлайн-программу для просмотра презентаций Microsoft PowerPoint.