Поширені запитання
Часті запитання
Як встановити 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);У які формати файлів я можу зберігати?
Enum SaveFormat визначає константи для багатьох форматів — Pptx, Pdf, Html, Svg, Jpeg, Png та інші — для сумісності API з комерційною редакцією. Під час виконання у цій FOSS‑версії всі перевантаження Save() ігнорують аргумент формату і завжди записують вихід у форматі PPTX. Передача SaveFormat.Pdf компілюється правильно, але створює файл .pptx, а не .pdf.
using Aspose.Slides.Foss.Export;
prs.Save("output.pptx", SaveFormat.Pptx);Експорт у формати, відмінні від PPTX, функціонально недоступний у цьому випуску. Використовуйте SaveFormat.Pptx для всіх операцій збереження.
Чи можу я відкрити .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);