מבוא

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx קבצים באופן מלא ב-Java, ללא תלות ב-Microsoft Office או בכל סביבת ריצה קניינית.

הספרייה נועדה למפתחים שצריכים ליצור או לתפעל קבצי מצגות באופן תכנותי: אוטומציה של חבילות שקופיות מנתונים, חילוץ טקסט ונתוני מטא מקבצי PPTX שהועלו, בניית צינורות דיווח מבוססי מצגות, או הטמעת יצירת מצגות ביישומי Spring Boot. מכיוון ש aspose-slides-foss הוא Java טהור, ולכן מתפרס באופן זהה ב-Windows, macOS, Linux ובמכולות Docker.

תכונות מרכזיות

  • תמיכה מלאה ב-PPTX משולב: פתח כל .pptx קובץ, שנה את תוכנו, ושמור אותו חזרה מבלי לאבד חלקי XML לא ידועים שהספרייה עדיין אינה מבינה.
  • ניהול שקופיות: הוסף, הסר, ועבור על שקופיות באמצעות prs.getSlides(); המצגת מתחילה עם שקופית ריקה אחת אחרי new Presentation().
  • AutoShapes, טבלאות וקישורים: הוסף צורות באמצעות slide.getShapes().addAutoShape(), נתונים טבלאיים באמצעות slide.getShapes().addTable(), וקישורים חזותיים בין צורות באמצעות slide.getShapes().addConnector().
  • עיצוב טקסט עשיר: עצב טקסט ברמת תו עם PortionFormat: גודל גופן, מודגש, נטוי, קו תחתי, וצבע ARGB באמצעות FillType.SOLID ו ColorFormat.
  • סוגי מילוי: החל FillType.SOLID, GRADIENT, PATTERN, או PICTURE ממלאים לכל צורה.
  • אפקטים חזותיים: צל חיצוני, זוהר, קצה רך, טשטוש, השתקפות, וצל פנימי דרך shape.getEffectFormat().
  • 3D formatting: שיפוע, מצלמה, מערכת תאורה, חומר, ועומק חצייה דרך shape.getThreeDFormat().
  • הערות מציג: צרף טקסט של הערות לכל שקף דרך getNotesSlideManager().addNotesSlide().
  • תגובות משורשרות: הוסף הערות עם מטא‑נתוני המחבר ומיקום השקף.
  • תמונות משובצות: הטמע מנתיב קובץ, בתים, או InputStream.
  • מאפייני מסמך: קרא וכתוב מאפיינים של core, app, ו‑custom.

התחלה

הוסף את תלות 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 שנוצרו על ידי כלים אחרים עוברים סיבוב חזרה בבטחה.

ראה גם