Ofte stilte spørsmål
Ofte stilte spørsmål
Hvordan installerer jeg Aspose.Slides FOSS?
Legg til Maven‑avhengigheten i din pom.xml. Java 21 eller nyere kreves.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>Verifiser installasjonen:
import org.aspose.slides.foss.Presentation;
Presentation prs = new Presentation();
try {
System.out.println("Slides: " + prs.getSlides().size());
} finally {
prs.dispose();
}Ingen Microsoft Office eller annen systemruntime er påkrevd.
Hvorfor må jeg kalle dispose() på Presentation?
Klassen Presentation håndterer interne OPC-pakkeresurser. Uten å kalle dispose(), blir ikke disse ressursene frigitt, noe som kan forårsake minnelekkasjer eller fillåser. Bruk alltid try-finally:
Presentation prs = new Presentation("input.pptx");
try {
// work here
prs.save("output.pptx", SaveFormat.PPTX);
} finally {
prs.dispose();
}Alternativt, bruk try-with-resources siden Presentation implementerer AutoCloseable:
try (Presentation prs = new Presentation("input.pptx")) {
prs.save("output.pptx", SaveFormat.PPTX);
}Hvilke filformater kan jeg lagre til?
SaveFormat-enumet definerer konstanter for mange formater — PPTX, PDF, HTML, SVG, JPEG, PNG og andre — for API-kompatibilitet med den kommersielle utgaven. Ved kjøring i denne FOSS-utgaven ignorerer alle save()-overbelastninger formatargumentet og skriver alltid PPTX-utdata. Å sende inn SaveFormat.PDF kompilerer korrekt, men produserer en .pptx-fil, ikke en .pdf.
import org.aspose.slides.foss.export.SaveFormat;
prs.save("output.pptx", SaveFormat.PPTX);Eksport til formater som ikke er PPTX er ikke funksjonelt tilgjengelig i denne utgaven. Bruk SaveFormat.PPTX for alle lagringsoperasjoner.
Kan jeg åpne .ppt (gamle PowerPoint 97-2003) filer?
Nei. Kun .pptx (Office Open XML)‑filer støttes. Det eldre .ppt‑binærformatet håndteres ikke av dette biblioteket.
Hvordan får jeg tilgang til lysbilder?
Lysbilder er en nullbasert samling som er tilgjengelig via prs.getSlides():
ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();Hvordan legger jeg til et annet lysbilde?
Bruk prs.getSlides().addEmptySlide() med et oppsett:
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);
}Hvordan setter jeg bakgrunnsfargen på lysbildet?
Slide‑bakgrunnsfarge er ikke støttet i denne utgaven av Aspose.Slides FOSS. Det finnes ingen getBackground()‑metode på ISlide eller noen annen klasse i dette biblioteket. Slide‑bakgrunnen er fast når presentasjonen opprettes fra malen. En fremtidig utgave kan legge til bakgrunnskontroll.
Hvordan bruker jeg NullableBool?
NullableBool er en tre‑tilstands‑enum som brukes for formateringsegenskaper. Bruk NullableBool.TRUE (ikke Javas true) for fet, kursiv og lignende egenskaper:
import org.aspose.slides.foss.NullableBool;
fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);Hvorfor har innstilling av tekstfarge ingen effekt?
Du må også sette fillType til FillType.SOLID før du tilordner fargen:
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));Kan jeg bruke diagrammer eller SmartArt?
Nei. Diagrammer, SmartArt, OLE‑objekter, animasjoner, overganger, hyperkoblinger, VBA‑makroer og digitale signaturer er ikke implementert i denne utgaven og gir UnsupportedOperationException.
Er biblioteket trådsikkert?
Hvert Presentation-objekt er uavhengig. Å opprette og bruke separate Presentation-instanser fra separate tråder er trygt så lenge du ikke deler ett enkelt Presentation-objekt på tvers av tråder uten ekstern synkronisering.
Hvordan legger jeg inn et bilde?
Les bildedataene og legg dem til prs.getImages(), så opprett en 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);