Časté otázky
Časté otázky
Jak nainstalovat Aspose.Slides FOSS?
Přidejte Mavenova závislost k vaší pom.xml. Java 21 nebo novější je požadována.
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>26.7.0</version>
</dependency>Ověřte instalaci:
import org.aspose.slides.foss.Presentation;
Presentation prs = new Presentation();
try {
System.out.println("Slides: " + prs.getSlides().size());
} finally {
prs.dispose();
}Není požadován žádný Microsoft Office nebo jiný systémový runtime.
Proč mám volat ? dispose() na prezentaci?
Úřad pro bezpečnost a ochranu zdraví Presentation třída spravuje interní zdroje balíčku OPC. Bez volání dispose(), tyto zdroje nejsou uvolněny, což může způsobit úniky paměti nebo zámky souborů. Vždy použijte try-finally:
Presentation prs = new Presentation("input.pptx");
try {
// work here
prs.save("output.pptx", SaveFormat.PPTX);
} finally {
prs.dispose();
}Alternativně použijte zkušební zdroje, protože Presentation přístroje AutoCloseable:
try (Presentation prs = new Presentation("input.pptx")) {
prs.save("output.pptx", SaveFormat.PPTX);
}Do jakých formátů souborů mohu uložit?
Úřad pro bezpečnost a ochranu zdraví SaveFormat enum definuje konstanty pro mnoho formátů PPTX, PDF, HTML, SVG, JPEG, PNG, a další pro kompatibilitu API s komerční verzí. Při spuštění této edice FOSS všechny save() Přetížení ignorovat argument formátu a vždy psát výstup PPTX. Procházení SaveFormat.PDF správně kompiluje, ale vytváří .pptx soubor, ne .pdf.
import org.aspose.slides.foss.export.SaveFormat;
prs.save("output.pptx", SaveFormat.PPTX);Export do jiných formátů než PPTX není funkčně k dispozici v této edici. Použijte SaveFormat.PPTX pro všechny operace záchrany.
Můžu otevřít ? .ppt (starý PowerPoint 97-2003) soubory?
Ne, jen… .pptx (Office Open XML) soubory jsou podporovány. Legacy .ppt binární formát není obsluhován touto knihovnou.
Jak se dostanu k diapozitivům?
Slide je nulová sbírka přístupná prostřednictvím prs.getSlides():
ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();Jak přidat druhý slide?
Použití: prs.getSlides().addEmptySlide() s rozvržením:
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);
}Jak nastavit barvu pozadí snímku?
Barva pozadí diapozitu je: nepodporované V tomto vydání časopisu FOSS. getBackground() Metodou na ISlide nebo jakékoli jiné třídy v této knihovně. Slide pozadí je fixní, když prezentace je vytvořena z jeho šablony. Budoucí vydání může přidat kontrolu pozadu.
Jak to mám použít? NullableBool?
NullableBool je trojstátní enum používané pro formátování vlastností. Use NullableBool.TRUE (ne Java) true) pro tlusté, kurzivní a podobné vlastnosti:
import org.aspose.slides.foss.NullableBool;
fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);Proč nastavení barvy textu nemá žádný účinek?
Musíte také nastavit fillType na … FillType.SOLID před přiřazením barvy:
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));Můžu použít grafy nebo SmartArt?
Ne. Grafy, SmartArt, objekty OLE, animace, přechodové funkce a hypertextová odkazy, VBA makry a digitální podpisy nejsou implementovány v této edici a zvyšují UnsupportedOperationException.
Je knihovna bezpečná?
Každá. Presentation Objekt je nezávislý. Vytvoření a použití samostatných Presentation instanci z samostatných nití je bezpečné, pokud nesdílíte jediný Presentation objekt přes vlákna bez externí synchronizace.
Jak začlenit obrázek?
Přečtěte si byty obrázku a přidejte je do prs.getImages(), pak vytvořit 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);