מבוא
Aspose.Slides FOSS for Java היא ספרייה חינמית וקוד פתוח המאפשרת למפתחים ב‑Java ליצור ולשנות מצגות PowerPoint ללא תלות במיקרוסופט אופיס. הספרייה מופצת תחת חבילת org.aspose.slides.foss ומיועדת ל‑Java 21 ומעלה.
הפרויקט משוחרר תחת רישיון MIT, כך שניתן להשתמש בו גם בפרויקטים אישיים וגם בפרויקטים מסחריים ללא עלות ובלי מפתח API. הוא מספק מודל אובייקטים עשיר עבור slides, shapes, text, tables, images, comments ו‑document properties, הנתמך על‑ידי מניפולציה ישירה של פורמט חבילת Office Open XML.
עם 273 מחלקות, יותר מ‑2,600 שיטות, ו‑42 הצבות, ה‑API הליבה מכסה את הבלוקים הבסיסיים שאתה צריך כדי לאוטומט זרימות עבודה של מצגות בכל יישום Java.
מה כלול
מחזור חיי מצגת
המחלקה Presentation היא נקודת הכניסה לכל פעולה. ניתן ליצור מצגת ריקה ולשמור את התוצאה על הדיסק או לOutputStream במגוון פורמטים. המחלקה מממשת AutoCloseable, ולכן היא פועלת באופן טבעי עם בלוקי try-with-resources.
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation pres = new Presentation()) {
// A new presentation starts with one blank slide
System.out.println("Slides: " + pres.getSlides().size());
pres.save("output.pptx", SaveFormat.PPTX);
}
ניהול שקופיות
SlideCollection מספק שליטה מלאה על חבילת השקופיות. ניתן להוסיף שקופיות ריקות עם addEmptySlide(), לשכפל שקופיות קיימות עם addClone(), להכניס שקופיות באינדקס ספציפי עם insertEmptySlide(), להסיר שקופיות לפי הפנייה או אינדקס, ולחזור על האוסף.
try (Presentation pres = new Presentation()) {
ILayoutSlide layout = pres.getLayoutSlides().get(0);
pres.getSlides().addEmptySlide(layout);
pres.getSlides().addClone(pres.getSlides().get(0));
System.out.println("Total slides: " + pres.getSlides().size());
}
צורות ו-AutoShapes
המחלקה AutoShape מייצגת את האובייקט הניתן לציור הנפוץ ביותר בשקף. אתה יוצר צורות דרך IShapeCollection.addAutoShape(), מציין קבוע ShapeType (כגון ShapeType.RECTANGLE) וקואורדינטות מיקום. כל AutoShape חושף TextFrame לתוכן טקסט וFillFormat לעיצוב חזותי.
try (Presentation pres = new Presentation()) {
ISlide slide = pres.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 300, 100, false);
ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS");
System.out.println(tf.getText());
}
טקסט ופסקאות
טקסט עשיר מודל כיררכיה של TextFrame, ParagraphCollection, Paragraph, PortionCollection ו-Portion. ניתן להגדיר טקסט פשוט במסגרת ישירות באמצעות TextFrame.setText(), או לבנות פסקאות מרובות ריצות על‑ידי הוספת מופעים של Portion עם עיצוב שונה.
try (Presentation pres = new Presentation()) {
ISlide slide = pres.getSlides().get(0);
IAutoShape shape = slide.getShapes()
.addAutoShape(ShapeType.RECTANGLE, 50, 50, 400, 100, false);
ITextFrame tf = shape.addTextFrame("First run ");
Portion extra = new Portion("second run");
tf.getParagraphs().get(0).getPortions().add(extra);
System.out.println(tf.getText());
}
מאפייני מסמך
המחלקה DocumentProperties חושפת שדות מטא‑נתונים סטנדרטיים כגון כותרת, מחבר, נושא, מילות מפתח, קטגוריה וזמנים. המאפיינים נשמרים בחלקי הליבה והמאפיינים המורחבים של PPTX ומחזיקים מעמד במחזורי שמירה/טעינה חוזרים.
try (Presentation pres = new Presentation()) {
IDocumentProperties props = pres.getDocumentProperties();
props.setTitle("Quarterly Report");
props.setAuthor("Engineering Team");
pres.save("report.pptx", SaveFormat.PPTX);
}
הערות והסברים
מערכת המשנה של ההערות כוללת CommentAuthorCollection ו-CommentCollection. ניתן להוסיף מחברים, לצרף הערות לשקופיות ולמיקומים ספציפיים, ולקרוא חזרה את ההערות הקיימות. נתוני ההערות מאוחסנים בחלקי ppt/commentAuthors.xml ו-ppt/comments/*.xml של חבילת PPTX.
התחלה מהירה
הוסף את תלות Maven ל-pom.xml:
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
לאחר מכן צור ושמור מצגת:
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;
public class QuickStart {
public static void main(String[] args) {
try (Presentation pres = new Presentation()) {
ISlide slide = pres.getSlides().get(0);
// Add a title shape
IAutoShape title = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 30, 600, 60, false);
title.addTextFrame("Aspose.Slides FOSS for Java");
// Add a content shape
IAutoShape body = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 120, 600, 300, false);
body.addTextFrame(
"This presentation was created entirely in Java "
+ "using a free, open-source library.");
pres.save("quick-start.pptx", SaveFormat.PPTX);
}
}
}
פורמטים נתמכים
המונה SaveFormat מגדיר כל פורמט פלט שהספרייה יכולה לכתוב. הטבלה למטה מציגה את הערכים המאושרים.
| פורמט | הרחבה | כתיבה |
|---|---|---|
| PPTX | .pptx | כן |
| PPTM | .pptm | כן |
| PPSX | .ppsx | כן |
| PPSM | .ppsm | כן |
| POTX | .potx | כן |
| POTM | .potm | כן |
| ODP | .odp | כן |
| OTP | .otp | כן |
| FODP | .fodp | כן |
| PPT | .ppt | כן |
| PPS | .pps | כן |
| POT | .pot | כן |
| כן | ||
| XPS | .xps | כן |
| HTML | .html | כן |
| HTML5 | .html | כן |
| SVG | .svg | כן |
| TIFF | .tiff | כן |
| PNG | .png | כן |
| JPEG | .jpeg | כן |
| BMP | .bmp | כן |
| GIF | .gif | כן |
| MD | .md | כן |
הפורמטים המופיעים למעלה הם יעדי יצוא מאושרים המוגדרים במונה SaveFormat.
קוד פתוח ורישוי
Aspose.Slides FOSS for Java מופץ תחת רישיון MIT. הקוד המלא זמין ב‑GitHub בכתובת Aspose.Slides-FOSS-for-Java. אתה חופשי להשתמש, לשנות ולפזר את הספרייה בכל פרויקט ללא תמלוגים או מפתחות רישיון.
התחלה
מוכן לצלול עמוק יותר? הנה משאבים שיעזרו לך להתחיל:
- Developer Guide – מדריכים והדרכות לכל תחום תכונה
- Knowledge Base – מאמרי איך‑לעשות ושאלות נפוצות
- API Reference – תיעוד מלא של מחלקות ושיטות