Функции и возможности
Функции и возможности
Aspose.Slides FOSS for .NET provides a broad set of capabilities for working with PowerPoint .pptx файлы программно. Эта страница перечисляет все поддерживаемые области функций с типичными примерами кода.
Ввод‑вывод презентаций
Откройте существующий .pptx файл или создайте новый, затем сохраните обратно в формате PPTX.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
// Open an existing presentation
using (var prs = new Presentation("input.pptx"))
{
Console.WriteLine($"Slide count: {prs.Slides.Count}");
prs.Save("output.pptx", SaveFormat.Pptx);
}
// Create a new presentation (starts with one blank slide)
using (var prs = new Presentation())
{
prs.Save("new.pptx", SaveFormat.Pptx);
}Примечание: PPTX — единственный поддерживаемый формат сохранения. Экспорт в PDF, HTML, SVG или изображения недоступен.
Неизвестные XML‑части в исходном файле сохраняются дословно при сохранении, поэтому открытие и повторное сохранение a .pptx никогда не удалит содержимое, которое библиотека ещё не понимает.
Управление слайдами
Добавляйте, удаляйте, клонируйте и переупорядочивайте слайды.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
// Access the first slide
var slide = prs.Slides[0];
// Add an additional blank slide at the end
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
Console.WriteLine($"Total slides: {prs.Slides.Count}");
prs.Save("multi-slide.pptx", SaveFormat.Pptx);Фигуры
Добавляйте AutoShapes, PictureFrames, таблицы и соединители на слайд.
AutoShapes
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
// Add a rectangle at (x=50, y=50) with width=300, height=100
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 100);
shape.AddTextFrame("Aspose.Slides FOSS");
prs.Save("shapes.pptx", SaveFormat.Pptx);Таблицы
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
// Column widths and row heights in points
double[] colWidths = { 120.0, 120.0, 120.0 };
double[] rowHeights = { 40.0, 40.0, 40.0 };
var table = slide.Shapes.AddTable(50, 50, colWidths, rowHeights);
table.Rows[0][0].TextFrame.Text = "Product";
table.Rows[0][1].TextFrame.Text = "Quantity";
table.Rows[0][2].TextFrame.Text = "Price";
prs.Save("table.pptx", SaveFormat.Pptx);Соединители
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var box1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 100, 150, 60);
var box2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 350, 100, 150, 60);
var conn = slide.Shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);
conn.StartShapeConnectedTo = box1;
conn.StartShapeConnectionSiteIndex = 3; // right side
conn.EndShapeConnectedTo = box2;
conn.EndShapeConnectionSiteIndex = 1; // left side
prs.Save("connector.pptx", SaveFormat.Pptx);Форматирование текста
Форматируйте текст на уровне абзаца и символа, используя PortionFormat.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 500, 150);
var tf = shape.AddTextFrame("Bold blue heading");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 28;
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);
prs.Save("text.pptx", SaveFormat.Pptx);NullableBool.True устанавливает свойство явно; NullableBool.NotDefined наследуется от шаблона слайда.
Типы заливки
Применяйте сплошные, градиентные, узорные или изображённые заливки к фигурам.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 150);
// Solid fill
shape.FillFormat.FillType = FillType.Solid;
shape.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 30, 120, 200);
prs.Save("fill.pptx", SaveFormat.Pptx);Визуальные эффекты
Применяйте внешнюю тень, сияние, мягкий край, размытие, отражение и внутреннюю тень к фигурам.
Свойства эффекта доступны через shape.EffectFormat. Вызовите EnableOuterShadowEffect(), EnableGlowEffect(), EnableSoftEdgeEffect(), SetBlurEffect(), EnableReflectionEffect(), или EnableInnerShadowEffect() для независимой настройки каждого.
3D Formatting
Примените 3D-скос, камеру, световую установку, материал и глубину выдавливания через shape.ThreeDFormat. Это управляет визуальной глубиной и моделью освещения при отрисовке фигур в PPTX‑просмотрщиках, поддерживающих 3D‑эффекты.
Заметки докладчика
Прикрепляйте заметки к любому слайду с помощью NotesSlideManager.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var notes = prs.Slides[0].NotesSlideManager.AddNotesSlide();
notes.NotesTextFrame.Text = "Key talking point: emphasize the ROI benefit.";
prs.Save("notes.pptx", SaveFormat.Pptx);Комментарии
Добавляйте ветвящиеся комментарии с информацией об авторе и положением на слайде.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var author = prs.CommentAuthors.AddAuthor("Jane Smith", "JS");
var slide = prs.Slides[0];
author.Comments.AddComment(
"Please verify this data before the presentation.",
slide,
new PointF(2.0f, 2.0f),
DateTime.Now
);
prs.Save("comments.pptx", SaveFormat.Pptx);Встроенные изображения
Вставьте изображение из файла в презентацию и добавьте его на слайд в виде PictureFrame.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
var slide = prs.Slides[0];
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 200, 150, image);
prs.Save("with-image.pptx", SaveFormat.Pptx);Свойства документа
Чтение и запись основных, app и пользовательских свойств документа.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var props = prs.DocumentProperties;
// Core properties
props.Title = "Q1 Results";
props.Author = "Finance Team";
props.Subject = "Quarterly Review";
props.Keywords = "Q1, finance, results";
// Custom property
props.SetCustomPropertyValue("ReviewedBy", "Legal Team");
prs.Save("deck.pptx", SaveFormat.Pptx);Известные ограничения
Следующие области вызывают NotImplementedException и недоступны в этой версии:
| Область | Статус |
|---|---|
| Диаграммы | Не реализовано |
| SmartArt | Не реализовано |
| Анимации и переходы | Не реализовано |
| PDF / HTML / SVG / экспорт изображений | Не реализовано (только PPTX) |
| VBA‑макросы | Не реализовано |
| Цифровые подписи | Не реализовано |
| Гиперссылки и настройки действий | Не реализовано |
| OLE‑объекты | Не реализовано |
| Математический текст | Не реализовано |
См. также
- Начало работы: Установка и первая программа
- Справочник API: Справочник классов и методов
- Пошаговые руководства: Статьи, ориентированные на задачи