Вступ
Aspose.Slides FOSS for Java тепер доступна в Maven Central: безкоштовна бібліотека з ліцензією MIT для створення, читання та редагування файлів PowerPoint .pptx повністю на Java, без залежності від Microsoft Office чи будь‑якого пропрієтарного середовища виконання.
Бібліотека розроблена для розробників, яким потрібно програмно генерувати або маніпулювати файлами презентацій: автоматизувати створення слайдів з даних, витягувати текст і метадані з завантажених файлів PPTX, будувати конвеєри звітності на основі презентацій або вбудовувати створення презентацій у застосунки Spring Boot. Оскільки aspose-slides-foss є чистою Java, вона розгортається однаково на Windows, macOS, Linux і Docker‑контейнерах.
Ключові особливості
- Повна підтримка кругового процесу PPTX: Відкрийте будь‑який файл
.pptx, змініть його вміст і збережіть назад, не втрачаючи невідомих XML‑частин, які бібліотека ще не розуміє. - Керування слайдами: Додавайте, видаляйте та перебирайте слайди за допомогою
prs.getSlides(); презентація починається з одного порожнього слайду післяnew Presentation(). - AutoShape, таблиці та з’єднувачі: Вставляйте форми за допомогою
slide.getShapes().addAutoShape(), табличні дані — за допомогоюslide.getShapes().addTable(), та візуальні з’єднувачі між формами — за допомогоюslide.getShapes().addConnector(). - Форматування багатого тексту: Форматуйте текст на рівні символів за допомогою
PortionFormat: розмір шрифту, жирний, курсив, підкреслення та колір ARGB черезFillType.SOLIDіColorFormat. - Типи заповнення: Застосовуйте заповнення
FillType.SOLID,GRADIENT,PATTERNабоPICTUREдо будь‑якої форми. - Візуальні ефекти: Зовнішня тінь, сяйво, м’яка межа, розмиття, відображення та внутрішня тінь за допомогою
shape.getEffectFormat(). - 3D‑форматування: Фаска, камера, система освітлення, матеріал та глибина екструзії за допомогою
shape.getThreeDFormat(). - Нотатки доповідача: Прикріплюйте текст нотаток до кожного слайду за допомогою
getNotesSlideManager().addNotesSlide(). - Ланцюгові коментарі: Додавайте коментарі з метаданими автора та позицією на слайді.
- Вбудовані зображення: Вбудовуйте з файлового шляху, байтів або
InputStream. - Властивості документа: Читайте та записуйте основні, додаткові та користувацькі властивості.
Початок роботи
Додайте залежність Maven. Потрібен 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;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
public class HelloSlides {
public static void main(String[] args) {
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 120
);
shape.addTextFrame("Hello from Aspose.Slides FOSS!");
prs.save("hello.pptx");
}
}
}
Завжди використовуйте Presentation всередині блоку try-with-resources; це забезпечує звільнення всіх внутрішніх ресурсів при виході з блоку.
Приклад форматування тексту
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 500, 150
);
ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
fmt.setFontHeight(28);
fmt.setFontBold(NullableBool.TRUE);
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(new Color(0, 70, 127));
prs.save("formatted.pptx");
}
Поточні обмеження
У цьому випуску наступні ділянки викидають UnsupportedOperationException:
- Діаграми, SmartArt та OLE‑об’єкти
- Анімації та переходи слайдів
- Експорт у PDF, HTML, SVG або формати зображень
- Гіперпосилання, налаштування дій, VBA‑макроси та цифрові підписи
Невідомі XML‑частини, виявлені під час завантаження, зберігаються дослівно при збереженні, тому PPTX‑файли, створені іншими інструментами, безпечно проходять цикл завантаження‑збереження.