תכונות ויכולות
תכונות ויכולות
Aspose.Slides FOSS for Java מספקת סט רחב של יכולות לעבודה עם קבצי PowerPoint .pptx באופן תכנותי. דף זה מציג את כל תחומי הפונקציונליות הנתמכים עם דוגמאות קוד מייצגות.
קלט/פלט של מצגת
פתח קובץ .pptx קיים או צור קובץ חדש, ואז שמור בחזרה בפורמט 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);
}הערה: PPTX הוא הפורמט היחיד הנתמך לשמירה. ייצוא ל-PDF, HTML, SVG או תמונות אינו זמין.
חלקי XML לא ידועים בקובץ המקור נשמרים במדויק בעת השמירה, ולכן פתיחה ושמירה מחדש של .pptx לעולם לא יסירו תוכן שהספרייה עדיין אינה מבינה.
ניהול שקופיות
הוסף, הסר, שכפל ושנה את סדר השקופיות.
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);
}צורות
הוסף AutoShapes, PictureFrames, Tables ו-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);
// 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);
}טבלאות
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);
}מחברים
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);
}עיצוב טקסט
עצב טקסט ברמת פסקה ותו באמצעות 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 מגדיר את המאפיין במפורש; NullableBool.NOT_DEFINED יורש ממאסטר השקופיות.
סוגי מילוי
החל מילויים של צבע אחיד, מדרג, תבנית או תמונה על צורות.
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);
}אפקטים חזותיים
החל צל חיצוני, זוהר, קצה רך, טשטוש, השתקפות, וצל פנימי על צורות.
תכונות האפקט נגישות דרך shape.getEffectFormat(). הפעל enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect() או enableInnerShadowEffect() כדי להגדיר כל אחת באופן עצמאי.
עיצוב 3D
החל 3D bevel, camera, light rig, material, ו‑extrusion depth באמצעות shape.getThreeDFormat(). זה שולט בעומק הוויזואלי ובמודל התאורה עבור רינדור צורות במציגי PPTX התומכים באפקטים תלת‑ממדיים.
הערות מציג
צרף הערות לכל שקף באמצעות 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);
}הערות
הוסף תגובות משורשרות עם מידע על המחבר ומיקום השקף.
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);
}תמונות משובצות
הטמע תמונה מקובץ במצגת והוסף אותה לשקף כ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);
}מאפייני מסמך
קריאה וכתיבה של תכונות המסמך הליבתיות, של האפליקציה והמותאמות אישית.
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);
}מגבלות ידועות
האזורים הבאים מייצרים UnsupportedOperationException ואינם זמינים במהדורה זו:
| תחום | מצב |
|---|---|
| תרשימים | לא מיושם |
| SmartArt | לא מיושם |
| הנפשות ומעברים | לא מיושם |
| ייצוא PDF / HTML / SVG / תמונה | לא מיושם (PPTX בלבד) |
| מאקרו VBA | לא מיושם |
| חתימות דיגיטליות | לא מיושם |
| קישורים והגדרות פעולה | לא מיושם |
| אובייקטי OLE | לא מיושם |
| טקסט מתמטי | לא מיושם |
ראה גם
- התחלה: התקנה ותוכנית ראשונה
- תיעוד API: הפניות למחלקות ולמתודות
- מדריכים מעשיים: מאמרים ממוקדי משימה