מבוא

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כן
PDF.pdfכן
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 – תיעוד מלא של מחלקות ושיטות