Често задавани въпроси
Често задавани въпроси
Как да инсталирам 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 е три‑статен изброим тип, използван за свойства на форматиране. Използвайте 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);