Functies en mogelijkheden
Functies en mogelijkheden
Aspose.Slides FOSS for Java biedt een breed scala aan mogelijkheden om programmatisch met PowerPoint .pptx-bestanden te werken. Deze pagina geeft een overzicht van alle ondersteunde functiegebieden met representatieve codevoorbeelden.
Presentatie I/O
Open een bestaand .pptx-bestand of maak een nieuw, sla het vervolgens op in PPTX-indeling.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
// Open an existing presentation
try (Presentation prs = new Presentation("input.pptx")) {
System.out.println("Slide count: " + prs.getSlides().size());
prs.save("output.pptx", SaveFormat.PPTX);
}
// Create a new presentation (starts with one blank slide)
try (Presentation prs = new Presentation()) {
prs.save("new.pptx", SaveFormat.PPTX);
}Opmerking: PPTX is het enige ondersteunde opslagformaat. Exporteren naar PDF, HTML, SVG of afbeeldingen is niet beschikbaar.
Onbekende XML-onderdelen in het bronbestand worden bij het opslaan letterlijk bewaard, dus het openen en opnieuw opslaan van een .pptx zal nooit inhoud verwijderen die de bibliotheek nog niet begrijpt.
Dia’s Beheer
Voeg dia’s toe, verwijder, kloon en herschik dia’s.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
// Access the first slide
var slide = prs.getSlides().get(0);
// Add an additional blank slide at the end
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
System.out.println("Total slides: " + prs.getSlides().size());
prs.save("multi-slide.pptx", SaveFormat.PPTX);
}Vormen
Voeg AutoShapes, PictureFrames, Tabellen en Connectoren toe aan een dia.
AutoShapes
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
// Add a rectangle at (x=50, y=50) with width=300, height=100
var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 300, 100);
shape.addTextFrame("Aspose.Slides FOSS");
prs.save("shapes.pptx", SaveFormat.PPTX);
}Tabellen
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
// Column widths and row heights in points
double[] colWidths = {120.0, 120.0, 120.0};
double[] rowHeights = {40.0, 40.0, 40.0};
var table = slide.getShapes().addTable(50, 50, colWidths, rowHeights);
table.getRows().get(0).get(0).getTextFrame().setText("Product");
table.getRows().get(0).get(1).getTextFrame().setText("Quantity");
table.getRows().get(0).get(2).getTextFrame().setText("Price");
prs.save("table.pptx", SaveFormat.PPTX);
}Connectoren
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var box1 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 100, 150, 60);
var box2 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 350, 100, 150, 60);
var conn = slide.getShapes().addConnector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10);
conn.setStartShapeConnectedTo(box1);
conn.setStartShapeConnectionSiteIndex(3); // right side
conn.setEndShapeConnectedTo(box2);
conn.setEndShapeConnectionSiteIndex(1); // left side
prs.save("connector.pptx", SaveFormat.PPTX);
}Tekstopmaak
Formatteer tekst op alinea- en tekenniveau met PortionFormat.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 500, 150);
var tf = shape.addTextFrame("Bold blue heading");
var 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(Color.fromArgb(255, 0, 70, 127));
prs.save("text.pptx", SaveFormat.PPTX);
}NullableBool.TRUE stelt de eigenschap expliciet in; NullableBool.NOT_DEFINED erft van de slide‑master.
Vultypen
Pas effen, verloop, patroon of afbeeldingvullingen toe op vormen.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 300, 150);
// Solid fill
shape.getFillFormat().setFillType(FillType.SOLID);
shape.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 30, 120, 200));
prs.save("fill.pptx", SaveFormat.PPTX);
}Visuele effecten
Pas buitenste schaduw, gloed, zachte rand, vervaging, reflectie en binnenste schaduw toe op vormen.
De effecteigenschappen zijn toegankelijk via shape.getEffectFormat(). Roep enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect() of enableInnerShadowEffect() aan om elk afzonderlijk te configureren.
3D-opmaak
Pas 3D-afschuining, camera, lichtrig, materiaal en extrusiediepte toe via shape.getThreeDFormat(). Dit regelt de visuele diepte en het verlichtingsmodel voor vormweergave in PPTX-viewers die 3D-effecten ondersteunen.
Sprekersnotities
Voeg notities toe aan elke dia met behulp van getNotesSlideManager().
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var notes = prs.getSlides().get(0).getNotesSlideManager().addNotesSlide();
notes.getNotesTextFrame().setText("Key talking point: emphasize the ROI benefit.");
prs.save("notes.pptx", SaveFormat.PPTX);
}Opmerkingen
Voeg geneste opmerkingen toe met auteurinformatie en dia‑positie.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.drawing.PointF;
import org.aspose.slides.foss.export.SaveFormat;
import java.time.LocalDateTime;
try (Presentation prs = new Presentation()) {
var author = prs.getCommentAuthors().addAuthor("Jane Smith", "JS");
var slide = prs.getSlides().get(0);
author.getComments().addComment(
"Please verify this data before the presentation.",
slide,
new PointF(2.0f, 2.0f),
LocalDateTime.now()
);
prs.save("comments.pptx", SaveFormat.PPTX);
}Ingesloten afbeeldingen
Sluit een afbeelding uit een bestand in de presentatie in en voeg deze toe aan een dia als een PictureFrame.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Path;
try (Presentation prs = new Presentation()) {
byte[] imageData = Files.readAllBytes(Path.of("logo.png"));
var image = prs.getImages().addImage(imageData);
var slide = prs.getSlides().get(0);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);
prs.save("with-image.pptx", SaveFormat.PPTX);
}Documenteigenschappen
Lees en schrijf kern-, app- en aangepaste documenteigenschappen.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var props = prs.getDocumentProperties();
// Core properties
props.setTitle("Q1 Results");
props.setAuthor("Finance Team");
props.setSubject("Quarterly Review");
props.setKeywords("Q1, finance, results");
// Custom property
props.setCustomPropertyValue("ReviewedBy", "Legal Team");
prs.save("deck.pptx", SaveFormat.PPTX);
}Bekende beperkingen
De volgende gebieden veroorzaken UnsupportedOperationException en zijn niet beschikbaar in deze editie:
| Gebied | Status |
|---|---|
| Grafieken | Niet geïmplementeerd |
| SmartArt | Niet geïmplementeerd |
| Animaties en overgangen | Niet geïmplementeerd |
| PDF / HTML / SVG / afbeeldingsexport | Niet geïmplementeerd (alleen PPTX) |
| VBA-macro’s | Niet geïmplementeerd |
| Digitale handtekeningen | Niet geïmplementeerd |
| Hyperlinks en actieregels | Niet geïmplementeerd |
| OLE-objecten | Niet geïmplementeerd |
| Wiskundige tekst | Niet geïmplementeerd |
Zie ook
- Aan de slag: Installatie en eerste programma
- API-referentie: Klassen- en methodereferentie
- How-to-gidsen: Taakgerichte artikelen