מבוא
Aspose.Slides FOSS for Java זמין כעת ב‑Maven Central: ספרייה חינמית ברישיון MIT ליצירה, קריאה ועריכה של קבצי PowerPoint .pptx במלואה ב‑Java, ללא תלות ב‑Microsoft Office או בכל סביבת ריצה קניינית.
הספרייה נועדה למפתחים שצריכים ליצור או לתפעל קבצי מצגות באופן תכנותי: אוטומציה של חבילות שקופיות מהנתונים, חילוץ טקסט ונתוני מטא מקבצי PPTX שהועלו, בניית צינורות דיווח מבוססי מצגות, או הטמעת יצירת מצגות ביישומי Spring Boot. מכיוון ש-aspose-slides-foss הוא Java טהור, הוא מתפרס באופן זהה ב‑Windows, macOS, Linux ובמכולות Docker.
תכונות מרכזיות
- תמיכה מלאה ב-PPTX: פתח כל קובץ
.pptx, שנה את תוכנו ושמור אותו בחזרה מבלי לאבד חלקי XML לא ידועים שהספרייה עדיין אינה מבינה. - ניהול שקופיות: הוסף, הסר ועבור על שקופיות באמצעות
prs.getSlides(); המצגת מתחילה עם שקופית ריקה אחת לאחרnew Presentation(). - AutoShapes, Tables, and Connectors: הכנס צורות דרך
slide.getShapes().addAutoShape(), נתונים טבלאיים דרךslide.getShapes().addTable(), וקשרים חזותיים בין צורות דרךslide.getShapes().addConnector(). - עיצוב טקסט עשיר: עצב טקסט ברמת תו עם
PortionFormat: גודל גופן, מודגש, נטוי, קו תחתון, וצבע ARGB דרךFillType.SOLIDו-ColorFormat. - סוגי מילוי: החל מילויים
FillType.SOLID,GRADIENT,PATTERNאוPICTUREעל כל צורה. - אפקטים חזותיים: צל חיצוני, זוהר, קצה רך, טשטוש, השתקפות, וצל פנימי דרך
shape.getEffectFormat(). - עיצוב תלת‑ממדי: חיתוך, מצלמה, מערכת תאורה, חומר, ועומק חצייה דרך
shape.getThreeDFormat(). - הערות מציג: צרף טקסט הערות לכל שקופית דרך
getNotesSlideManager().addNotesSlide(). - תגובות משורשרות: הוסף תגובות עם מטא‑נתוני מחבר ומיקום השקופית.
- תמונות משובצות: הטמע מתיקיית קובץ, בתים, או
InputStream. - מאפייני מסמך: קרא וכתוב מאפיינים בסיסיים, אפליקציה, ומותאמים אישית.
התחלה
הוסף את תלות Maven. נדרש Java 21 או גרסה מאוחרת יותר.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
צור את המצגת הראשונה שלך עם צורה ושמור אותה:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
public class HelloSlides {
public static void main(String[] args) {
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 400, 120
);
shape.addTextFrame("Hello from Aspose.Slides FOSS!");
prs.save("hello.pptx");
}
}
}
תמיד השתמש בPresentation בתוך בלוק try-with-resources; זה מבטיח שכל המשאבים הפנימיים משתחררים כאשר הבלוק יוצא.
דוגמת עיצוב טקסט
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 500, 150
);
ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
IPortionFormat 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(new Color(0, 70, 127));
prs.save("formatted.pptx");
}
מגבלות נוכחיות
האזורים הבאים זורקים UnsupportedOperationException בגרסה זו:
- תרשימים, SmartArt, ו‑אובייקטי OLE
- הנפשות ומעברי שקופיות
- ייצוא ל‑PDF, HTML, SVG, או פורמטים של תמונה
- קישורים, הגדרות פעולה, מאקרו VBA, וחתימות דיגיטליות
חלקי XML לא ידועים שנתקלו בהם במהלך הטעינה נשמרים במדויק בעת השמירה, ולכן קבצי PPTX שנוצרו על ידי כלים אחרים עוברים סיבוב בטוח.