Funkcje i możliwości
Funkcje i możliwości
Aspose.Slides FOSS for Java provides a broad set of capabilities for working with PowerPoint .pptx pliki programowo. Ta strona wymienia wszystkie obsługiwane obszary funkcji wraz z przykładowymi fragmentami kodu.
Wejście/wyjście prezentacji
Otwórz istniejący .pptx plik lub utwórz nowy, a następnie zapisz ponownie w formacie PPTX.
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);
}Uwaga: PPTX jest jedynym obsługiwanym formatem zapisu. Eksport do PDF, HTML, SVG ani obrazów nie jest dostępny.
Nieznane części XML w pliku źródłowym są zachowywane dosłownie przy zapisie, więc otwarcie i ponowne zapisanie a .pptx nigdy nie usunie treści, których biblioteka jeszcze nie rozumie.
Zarządzanie slajdami
Dodawaj, usuwaj, duplikuj i zmieniaj kolejność slajdów.
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);
}Kształty
Dodaj AutoShapes, PictureFrames, Tabele i Connectors do slajdu.
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);
}Tabele
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);
}Connectors
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);
}Formatowanie tekstu
Formatuj tekst na poziomie akapitu i znaku przy użyciu 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 ustawia właściwość jawnie; NullableBool.NOT_DEFINED dziedziczy po masterze slajdu.
Typy wypełnień
Zastosuj jednolite, gradientowe, wzorzowe lub obrazkowe wypełnienia do kształtów.
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);
}Efekty wizualne
Zastosuj cień zewnętrzny, poświatę, miękkie krawędzie, rozmycie, odbicie i cień wewnętrzny do kształtów.
Właściwości efektu są dostępne poprzez shape.getEffectFormat(). Wywołaj enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect(), lub enableInnerShadowEffect() aby skonfigurować każdy osobno.
3D Formatting
Zastosuj 3D bevel, kamerę, zestaw oświetlenia, materiał i głębokość ekstruzji za pomocą shape.getThreeDFormat().To kontroluje wizualną głębokość i model oświetlenia przy renderowaniu kształtów w przeglądarkach PPTX obsługujących efekty 3D.
Notatki prelegenta
Dołącz notatki do dowolnego slajdu przy użyciu 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);
}Komentarze
Dodaj wątkowane komentarze z informacjami o autorze i pozycją slajdu.
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);
}Osadzone obrazy
Osadź obraz z pliku w prezentacji i dodaj go do slajdu jako 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);
}Właściwości dokumentu
Odczytuj i zapisuj podstawowe, aplikacyjne oraz własne właściwości dokumentu.
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);
}Znane ograniczenia
Poniższe obszary podnoszą UnsupportedOperationException i nie są dostępne w tej edycji:
| Obszar | Status |
|---|---|
| Wykresy | Niezaimplementowane |
| SmartArt | Niezaimplementowane |
| Animacje i przejścia | Niezaimplementowane |
| Eksport PDF / HTML / SVG / obrazów | Niezaimplementowane (tylko PPTX) |
| Makra VBA | Niezaimplementowane |
| Podpisy cyfrowe | Niezaimplementowane |
| Hiperłącza i ustawienia akcji | Niezaimplementowane |
| Obiekty OLE | Niezaimplementowane |
| Tekst matematyczny | Niezaimplementowane |
Zobacz także
- Rozpoczęcie: Instalacja i pierwszy program
- Referencja API: Referencja klas i metod
- Poradniki: Artykuły ukierunkowane na zadania