Поширені запитання

Поширені запитання

Часті запитання

Як встановити Aspose.Slides FOSS?

Додайте Maven‑залежність до вашого pom.xml. Потрібен Java 21 або новіший.

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Перевірте встановлення:

import org.aspose.slides.foss.Presentation;

Presentation prs = new Presentation();
try {
    System.out.println("Slides: " + prs.getSlides().size());
} finally {
    prs.dispose();
}

Не потрібен Microsoft Office або інше системне середовище виконання.


Чому я повинен викликати dispose() на Presentation?

Клас Presentation керує внутрішніми ресурсами OPC‑пакету. Якщо не викликати dispose(), ці ресурси не звільняються, що може призвести до витоків пам’яті або блокувань файлів. Завжди використовуйте try-finally:

Presentation prs = new Presentation("input.pptx");
try {
    // work here
    prs.save("output.pptx", SaveFormat.PPTX);
} finally {
    prs.dispose();
}

Альтернативно використовуйте try-with-resources, оскільки Presentation реалізує AutoCloseable:

try (Presentation prs = new Presentation("input.pptx")) {
    prs.save("output.pptx", SaveFormat.PPTX);
}

У які формати файлів я можу зберігати?

Підтримується лише PPTX:

import org.aspose.slides.foss.export.SaveFormat;

prs.save("output.pptx", SaveFormat.PPTX);

Експорт у PDF, HTML, SVG або формати зображень (PNG, JPEG) недоступний у цій редакції.


Чи можу я відкривати .ppt (старі файли PowerPoint 97-2003)?

Ні. Підтримуються лише файли .pptx (Office Open XML). За­старілий .ppt двійковий формат не обробляється цією бібліотекою.


Як отримати доступ до слайдів?

Слайди — це нульово‑індексована колекція, доступна через prs.getSlides():

ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();

Як додати другий слайд?

Використовуйте prs.getSlides().addEmptySlide() з макетом:

try (Presentation prs = new Presentation()) {
    ILayoutSlide layout = prs.getLayoutSlides().get(0);
    prs.getSlides().addEmptySlide(layout);
    ISlide slide2 = prs.getSlides().get(1);
    prs.save("two-slides.pptx", SaveFormat.PPTX);
}

Як встановити колір фону слайду?

Колір фону слайду не підтримується у цьому випуску Aspose.Slides FOSS. У цьому бібліотеці немає методу getBackground() у ISlide або будь‑якого іншого класу. Фон слайду фіксований, коли презентація створюється з шаблону. У майбутньому випуску може бути додано керування фоном.


Як я можу використовувати NullableBool?

NullableBool — це тристоронній enum, який використовується для властивостей форматування. Використовуйте NullableBool.TRUE (а не Java‑овий true) для жирного, курсивного та подібних властивостей:

import org.aspose.slides.foss.NullableBool;

fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);

Чому встановлення кольору тексту не має ефекту?

Ви також повинні встановити fillType у FillType.SOLID перед призначенням кольору:

import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;

fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 200, 0, 0));

Чи можу я використовувати діаграми або SmartArt?

Ні. Діаграми, SmartArt, OLE‑об’єкти, анімації, переходи, гіперпосилання, макроси VBA та цифрові підписи не реалізовані у цьому випуску та викликають UnsupportedOperationException.


Чи є бібліотека потокобезпечною?

Кожен Presentation об’єкт є незалежним. Створення та використання окремих Presentation екземплярів у різних потоках безпечне, доки ви не ділите один Presentation об’єкт між потоками без зовнішньої синхронізації.


Як вбудувати зображення?

Прочитайте байти зображення та додайте їх до prs.getImages(), потім створіть PictureFrame:

import org.aspose.slides.foss.ShapeType;

byte[] imageData = java.nio.file.Files.readAllBytes(
    java.nio.file.Paths.get("logo.png")
);
IPPImage image = prs.getImages().addImage(imageData);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);

Дивіться також

 Українська