Veelgestelde vragen
Veelgestelde vragen
Hoe installeer ik Aspose.Slides FOSS?
Voeg de Maven‑dependency toe aan uw pom.xml. Java 21 of hoger is vereist.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>Controleer de installatie:
import org.aspose.slides.foss.Presentation;
Presentation prs = new Presentation();
try {
System.out.println("Slides: " + prs.getSlides().size());
} finally {
prs.dispose();
}Geen Microsoft Office of andere systeemruntime is vereist.
Waarom moet ik dispose() aanroepen op Presentation?
De Presentation-klasse beheert interne OPC-pakketbronnen. Zonder het aanroepen van dispose() worden die bronnen niet vrijgegeven, wat geheugenlekken of bestandsvergrendelingen kan veroorzaken. Gebruik altijd try-finally:
Presentation prs = new Presentation("input.pptx");
try {
// work here
prs.save("output.pptx", SaveFormat.PPTX);
} finally {
prs.dispose();
}Gebruik anders try-with-resources, aangezien Presentation AutoCloseable implementeert:
try (Presentation prs = new Presentation("input.pptx")) {
prs.save("output.pptx", SaveFormat.PPTX);
}Naar welke bestandsformaten kan ik opslaan?
De SaveFormat enum definieert constanten voor vele formaten — PPTX, PDF, HTML, SVG, JPEG, PNG, en andere — voor API‑compatibiliteit met de commerciële editie. Tijdens runtime in deze FOSS‑editie negeren alle save() overloads het formaatargument en schrijven ze altijd PPTX‑output. Het doorgeven van SaveFormat.PDF compileert correct maar levert een .pptx‑bestand op, geen .pdf.
import org.aspose.slides.foss.export.SaveFormat;
prs.save("output.pptx", SaveFormat.PPTX);Exporteren naar niet‑PPTX‑formaten is functioneel niet beschikbaar in deze editie. Gebruik SaveFormat.PPTX voor alle opslaan‑bewerkingen.
Kan ik .ppt (oude PowerPoint 97-2003) bestanden openen?
Nee. Alleen .pptx (Office Open XML) bestanden worden ondersteund. Legacy .ppt binair formaat wordt niet door deze bibliotheek verwerkt.
Hoe krijg ik toegang tot de dia’s?
Dia’s zijn een nulgebaseerde collectie die toegankelijk is via prs.getSlides():
ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();Hoe voeg ik een tweede dia toe?
Gebruik prs.getSlides().addEmptySlide() met een lay-out:
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);
}Hoe stel ik de achtergrondkleur van de dia in?
Slide-achtergrondkleur wordt niet ondersteund in deze editie van Aspose.Slides FOSS. Er is geen getBackground()-methode op ISlide of een andere klasse in deze bibliotheek. De slide-achtergrond is vast wanneer de presentatie wordt gemaakt vanuit zijn sjabloon. Een toekomstige editie kan achtergrondbeheer toevoegen.
Hoe gebruik ik NullableBool?
NullableBool is een tri‑state enum die wordt gebruikt voor opmaak‑eigenschappen. Gebruik NullableBool.TRUE (niet de Java‑true) voor vet, cursief en soortgelijke eigenschappen:
import org.aspose.slides.foss.NullableBool;
fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);Waarom heeft het instellen van tekstkleur geen effect?
U moet ook fillType op FillType.SOLID instellen voordat u de kleur toewijst:
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 ik grafieken of SmartArt gebruiken?
Nee. Grafieken, SmartArt, OLE-objecten, animaties, overgangen, hyperlinks, VBA-macro’s en digitale handtekeningen zijn niet geïmplementeerd in deze editie en veroorzaken UnsupportedOperationException.
Is de bibliotheek thread-safe?
Elk Presentation object is onafhankelijk. Het creëren en gebruiken van afzonderlijke Presentation instanties vanuit afzonderlijke threads is veilig, zolang je geen enkel Presentation object over threads deelt zonder externe synchronisatie.
Hoe embed ik een afbeelding?
Lees de afbeeldingsbytes en voeg ze toe aan prs.getImages(), maak vervolgens een PictureFrame aan:
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);