Часто задаваемые вопросы

Часто задаваемые вопросы

Часто задаваемые вопросы

Как установить Aspose.Slides FOSS?

Установите из NuGet с помощью .NET CLI. Требуется .NET 9.0 или более поздняя версия.

dotnet add package Aspose.Slides.Foss

Проверьте установку:

using Aspose.Slides.Foss;

using var prs = new Presentation();
Console.WriteLine($"Slides: {prs.Slides.Count}");

Не требуется Microsoft Office или другие системные среды выполнения.


Почему я должен использовать using var prs = new Presentation();?

Класс Presentation реализует IDisposable и управляет внутренними XML‑ресурсами. Без оператора using эти ресурсы не освобождаются, когда объект Presentation выходит из области видимости, что может привести к утечкам ресурсов или блокировке файлов.

Всегда следуйте этому шаблону:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation("input.pptx");
// work here
prs.Save("output.pptx", SaveFormat.Pptx);

В какие форматы файлов я могу сохранять?

Поддерживается только PPTX:

using Aspose.Slides.Foss.Export;

prs.Save("output.pptx", SaveFormat.Pptx);

Экспорт в PDF, HTML, SVG или форматы изображений (PNG, JPEG) недоступен в этой версии.


Могу ли я открыть .ppt (старые файлы PowerPoint 97-2003)?

Библиотека в первую очередь поддерживает .pptx (Office Open XML). Конструктор Presentation принимает путь к файлу .ppt и определит формат, однако надёжный разбор бинарных файлов .ppt не гарантируется и не поддерживается в этой версии. Используйте файлы .pptx во всех производственных сценариях.


Как получить доступ к слайдам?

Слайды — это коллекция с нулевой индексацией, доступная через prs.Slides:

var firstSlide = prs.Slides[0];
int slideCount = prs.Slides.Count;

Как добавить второй слайд?

Используйте prs.Slides.AddEmptySlide() с макетом:

using var prs = new Presentation();
var layout = prs.LayoutSlides[0];
prs.Slides.AddEmptySlide(layout);
var slide2 = prs.Slides[1];
prs.Save("two-slides.pptx", SaveFormat.Pptx);

Как установить цвет фона слайда?

Заполнение фона недоступно в этой версии.


Как использовать NullableBool?

NullableBool — это три‑статный enum, используемый для свойств форматирования. Используйте NullableBool.True (а не true из C#) для жирного, курсивного и подобных свойств:

using Aspose.Slides.Foss;

fmt.FontBold = NullableBool.True;
fmt.FontItalic = NullableBool.False;
fmt.FontUnderline = TextUnderlineType.Single;

Почему установка цвета текста не оказывает эффекта?

Вы также должны установить FillType = FillType.Solid перед назначением цвета:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;

fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 200, 0, 0);

Могу ли я использовать диаграммы или SmartArt?

Нет. Диаграммы, SmartArt, объекты OLE, анимации, переходы, гиперссылки, макросы VBA и цифровые подписи не реализованы в этом издании.


Поддерживает ли библиотека .NET 8?

Нет. Требуется .NET 9.0 или более поздняя версия.


Является ли эта библиотека потокобезопасной?

Каждый объект Presentation независим. Создание и использование отдельных экземпляров Presentation из разных потоков безопасно, при условии, что вы не делите один объект Presentation между потоками без внешней блокировки.


Как вставить изображение?

Прочитайте байты изображения и добавьте их в prs.Images, затем создайте PictureFrame:

byte[] imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 200, 150, image);

См. также

 Русский