Ciri-ciri dan Keupayaan
Ciri-ciri dan Keupayaan
Aspose.Slides FOSS for Java menyediakan satu set kemampuan yang luas untuk bekerja dengan fail PowerPoint .pptx secara programatik. Halaman ini menyenaraikan semua kawasan ciri yang disokong dengan contoh kod yang representatif.
Pembentangan I/O
Buka fail .pptx yang sedia ada atau buat yang baru, kemudian simpan semula dalam 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);
}Nota: PPTX adalah satu-satunya format simpanan yang disokong. Eksport ke PDF, HTML, SVG, atau imej tidak tersedia.
Bahagian XML yang tidak diketahui dalam fail sumber dipelihara secara verbatim semasa menyimpan, jadi membuka dan menyimpan semula .pptx tidak akan pernah menanggalkan kandungan yang belum difahami oleh perpustakaan.
Pengurusan Slaid
Tambah, buang, klon, dan susun semula slaid.
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
Tambah AutoShapes, PictureFrames, Tables, dan Connectors ke slaid.
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);
}Jadual
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);
}Penyambung
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 peringkat perenggan dan aksara 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 sifat secara eksplisit; NullableBool.NOT_DEFINED mewarisi daripada slide master.
Jenis Pengisian
Terapkan isian pepejal, gradien, corak, 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);
}Kesan Visual
Terapkan bayang luar, cahaya, tepi lembut, kabur, refleksi, dan bayang dalam pada bentuk.
Ciri kesan boleh diakses melalui shape.getEffectFormat(). Panggil enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect(), atau enableInnerShadowEffect() untuk mengkonfigurasi setiap satu secara bebas.
Pemformatan 3D
Gunakan bevel 3D, kamera, rig cahaya, bahan, dan kedalaman ekstrusi melalui shape.getThreeDFormat(). Ini mengawal kedalaman visual dan model pencahayaan untuk rendering bentuk dalam penonton PPTX yang menyokong kesan 3D.
Nota Penceramah
Lampirkan nota pada mana-mana slaid 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);
}Komen
Tambah komen berulir dengan maklumat pengarang dan kedudukan slaid.
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);
}Imej Terbenam
Benamkan imej daripada fail ke dalam persembahan dan tambahkan ke slaid 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);
}Sifat Dokumen
Baca dan tulis sifat dokumen teras, aplikasi, dan tersuai.
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 Dikenali
Kawasan berikut memunculkan UnsupportedOperationException dan tidak tersedia dalam edisi ini:
| Kawasan | Status |
|---|---|
| Carta | Tidak dilaksanakan |
| SmartArt | Tidak dilaksanakan |
| Animasi dan peralihan | Tidak dilaksanakan |
| Eksport PDF / HTML / SVG / imej | Tidak dilaksanakan (hanya PPTX) |
| Makro VBA | Tidak dilaksanakan |
| Tandatangan digital | Tidak dilaksanakan |
| Pautan hiperteks dan tetapan tindakan | Tidak dilaksanakan |
| Objek OLE | Tidak dilaksanakan |
| Teks matematik | Tidak dilaksanakan |
Lihat Juga
- Getting Started: Pemasangan dan program pertama
- API Reference: Rujukan kelas dan kaedah
- How-To Guides: Artikel berorientasikan tugas