Funktionen und Fähigkeiten
Funktionen und Fähigkeiten
Aspose.Slides FOSS für Java bietet ein breites Spektrum an Funktionen zum programmgesteuerten Arbeiten mit PowerPoint .pptx‑Dateien. Diese Seite listet alle unterstützten Funktionsbereiche mit repräsentativen Codebeispielen auf.
Präsentation I/O
Öffnen Sie eine vorhandene .pptx‑Datei oder erstellen Sie eine neue und speichern Sie 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 eines .pptx niemals Inhalte entfernt werden, die die Bibliothek noch nicht versteht.
Folienverwaltung
Folien hinzufügen, entfernen, klonen 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
Fügen Sie AutoShapes, PictureFrames, Tabellen und Verbinder zu einer Folie hinzu.
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);
}Textformatierung
Formatieren Sie 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
Wenden Sie einfarbige, Farbverlauf-, 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
Wenden Sie äußeren Schatten, Leuchten, weiche Kante, Unschärfe, Spiegelung und inneren Schatten auf Formen an.
Die Effekt‑Eigenschaften sind über shape.getEffectFormat() zugänglich. Rufen Sie enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect() oder enableInnerShadowEffect() auf, um jede einzeln zu konfigurieren.
3D Formatierung
Wenden Sie 3D‑Fase, Kamera, Lichtanlage, Material und Extrusionstiefe über shape.getThreeDFormat() an. Dies steuert die visuelle Tiefe und das Beleuchtungsmodell für die Formdarstellung in PPTX‑Betrachtern, die 3D‑Effekte unterstützen.
Sprecher-Notizen
Fügen Sie Notizen zu einer beliebigen Folie hinzu, indem Sie getNotesSlideManager() verwenden.
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ügen Sie 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 PictureFrame hinzu.
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
Kern-, App- und benutzerdefinierte Dokumenteigenschaften lesen und schreiben.
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 lösen UnsupportedOperationException aus und sind in dieser Ausgabe 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 Aktions‑Einstellungen | 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