Funktionen und Fähigkeiten
Funktionen und Fähigkeiten
Aspose.Slides FOSS for Java provides a broad set of capabilities for working with PowerPoint .pptx Dateien programmgesteuert. Diese Seite listet alle unterstützten Funktionsbereiche mit repräsentativen Codebeispielen auf.
Präsentations‑E/A
Öffne ein bestehendes .pptx Datei oder erstelle eine neue, und speichere sie anschließend im PPTX-Format.
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);
}Hinweis: PPTX ist das einzige unterstützte Speicherformat. Der Export nach PDF, HTML, SVG oder Bildern ist nicht verfügbar.
Unbekannte XML-Teile in der Quelldatei werden beim Speichern unverändert beibehalten, sodass das Öffnen und erneute Speichern einer .pptx niemals Inhalte entfernt, die die Bibliothek noch nicht versteht.
Folienverwaltung
Folien hinzufügen, entfernen, duplizieren und neu anordnen.
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);
}Formen
Autoformen, Bildrahmen, Tabellen und Verbinder zu einer Folie hinzufügen.
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);
}Verbinder
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);
}Textformatierung
Formatiere Text auf Absatz- und Zeichenebene mit 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 setzt die Eigenschaft explizit; NullableBool.NOT_DEFINED erbt vom Folienmaster.
Fülltypen
Wende einfarbige, Verlauf-, Muster- oder Bildfüllungen auf Formen an.
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);
}Visuelle Effekte
Wende äußeren Schatten, Leuchten, weiche Kanten, Unschärfe, Spiegelung und inneren Schatten auf Formen an.
Die Effekt‑Eigenschaften sind zugänglich über shape.getEffectFormat(). Aufrufen enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect(), oder enableInnerShadowEffect() um jedes einzeln zu konfigurieren.
3D Formatting
Wenden Sie 3D-Fase, Kamera, Licht-Setup, Material und Extrusionstiefe an über shape.getThreeDFormat().Dies steuert die visuelle Tiefe und das Beleuchtungsmodell für die Formdarstellung in PPTX‑Betrachtern, die 3D‑Effekte unterstützen.
Referenten-Notizen
Fügen Sie Notizen zu einer beliebigen Folie hinzu mit 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);
}Kommentare
Füge verschachtelte Kommentare mit Autoreninformationen und Folienposition hinzu.
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);
}Eingebettete Bilder
Betten Sie ein Bild aus einer Datei in die Präsentation ein und fügen Sie es einer Folie als ein 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);
}Dokumenteigenschaften
Lese und schreibe Kern-, App- und benutzerdefinierte Dokumenteigenschaften.
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);
}Bekannte Einschränkungen
Die folgenden Bereiche erhöhen UnsupportedOperationException und sind in dieser Edition nicht verfügbar:
| Bereich | Status |
|---|---|
| Diagramme | Nicht implementiert |
| SmartArt | Nicht implementiert |
| Animationen und Übergänge | Nicht implementiert |
| PDF / HTML / SVG / Bildexport | Nicht implementiert (nur PPTX) |
| VBA-Makros | Nicht implementiert |
| Digitale Signaturen | Nicht implementiert |
| Hyperlinks und Aktionseinstellungen | Nicht implementiert |
| OLE-Objekte | Nicht implementiert |
| Mathematischer Text | Nicht implementiert |
Siehe auch
- Erste Schritte: Installation und erstes Programm
- API-Referenz: Klassen- und Methodenreferenz
- Anleitungen: Aufgabenorientierte Artikel