Fitur dan Kemampuan
Fitur dan Kemampuan
Aspose.Slides FOSS for Java provides a broad set of capabilities for working with PowerPoint .pptx file secara programatik. Halaman ini mencantumkan semua area fitur yang didukung dengan contoh kode representatif.
I/O Presentasi
Buka yang sudah ada .pptx file atau buat yang baru, lalu simpan kembali ke format 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);
}Catatan: PPTX adalah satu-satunya format penyimpanan yang didukung. Ekspor ke PDF, HTML, SVG, atau gambar tidak tersedia.
Bagian XML yang tidak dikenal dalam file sumber dipertahankan persis saat disimpan, sehingga membuka dan menyimpan kembali sebuah .pptx tidak akan pernah menghapus konten yang belum dipahami oleh perpustakaan.
Manajemen Slide
Tambah, hapus, kloning, dan urutkan kembali slide.
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);
}Bentuk
Tambahkan AutoShapes, PictureFrames, Tabel, dan Connectors ke sebuah slide.
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);
}Tabel
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);
}Pemformatan Teks
Format teks pada tingkat paragraf dan karakter menggunakan 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 menetapkan properti secara eksplisit; NullableBool.NOT_DEFINED mewarisi dari master slide.
Jenis Isian
Terapkan isian padat, gradasi, pola, atau gambar pada bentuk.
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);
}Efek Visual
Terapkan bayangan luar, cahaya bersinar, tepi lembut, blur, refleksi, dan bayangan dalam pada bentuk.
Properti efek dapat diakses melalui shape.getEffectFormat(). Panggil enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect(), atau enableInnerShadowEffect() untuk mengonfigurasi masing-masing secara terpisah.
3D Formatting
Terapkan bevel 3D, kamera, rig cahaya, material, dan kedalaman ekstrusi melalui shape.getThreeDFormat(). Ini mengontrol kedalaman visual dan model pencahayaan untuk rendering bentuk di penampil PPTX yang mendukung efek 3D.
Catatan Pembicara
Lampirkan catatan ke slide mana pun menggunakan 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);
}Komentar
Tambahkan komentar berutas dengan informasi penulis dan posisi slide.
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);
}Gambar Tersemat
Sematkan gambar dari file ke dalam presentasi dan tambahkan ke slide sebagai 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);
}Properti Dokumen
Baca dan tulis properti dokumen inti, aplikasi, dan khusus.
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);
}Keterbatasan yang Diketahui
Area berikut menimbulkan UnsupportedOperationException dan tidak tersedia dalam edisi ini:
| Area | Status |
|---|---|
| Diagram | Belum diimplementasikan |
| SmartArt | Belum diimplementasikan |
| Animasi dan transisi | Belum diimplementasikan |
| Ekspor PDF / HTML / SVG / gambar | Belum diimplementasikan (hanya PPTX) |
| Makro VBA | Belum diimplementasikan |
| Tanda tangan digital | Belum diimplementasikan |
| Tautan hiper dan pengaturan aksi | Belum diimplementasikan |
| Objek OLE | Tidak diimplementasikan |
| Teks matematika | Tidak diimplementasikan |
Lihat Juga
- Memulai: Instalasi dan program pertama
- Referensi API: Referensi kelas dan metode
- Panduan Cara:Artikel berorientasi tugas