שאלות נפוצות

שאלות נפוצות

שאלות נפוצות

איך אני מתקין את Aspose.Slides FOSS?

הוסף את תלות Maven לpom.xml שלך. נדרש 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;

Presentation prs = new Presentation();
try {
    System.out.println("Slides: " + prs.getSlides().size());
} finally {
    prs.dispose();
}

אין צורך ב‑Microsoft Office או ברנטיימים אחרים של המערכת.


למה עלי לקרוא dispose() על Presentation?

המחלקה Presentation מנהלת משאבי חבילות OPC פנימיים. ללא קריאה ל‑dispose(), המשאבים הללו אינם משוחררים, מה שעלול לגרום לדליפות זיכרון או לנעילות קבצים. תמיד השתמשו ב‑try‑finally:

Presentation prs = new Presentation("input.pptx");
try {
    // work here
    prs.save("output.pptx", SaveFormat.PPTX);
} finally {
    prs.dispose();
}

לחלופין, השתמש ב‑try-with-resources מכיוון ש‑Presentation מממש את AutoCloseable:

try (Presentation prs = new Presentation("input.pptx")) {
    prs.save("output.pptx", SaveFormat.PPTX);
}

לאילו פורמטים של קבצים ניתן לשמור?

ה‑enum SaveFormat מגדיר קבועים עבור פורמטים רבים — PPTX, PDF, HTML, SVG, JPEG, PNG, ואחרים — לתאימות API עם הגרסה המסחרית. בזמן ריצה בגרסה הזו של FOSS, כל העומסים של save() מתעלמים ממחרוזת הפורמט ותמיד כותבים פלט PPTX. העברת SaveFormat.PDF מתקומפלת כראוי אך מייצרת קובץ .pptx, ולא .pdf.

import org.aspose.slides.foss.export.SaveFormat;

prs.save("output.pptx", SaveFormat.PPTX);

ייצוא לפורמטים שאינם PPTX אינו זמין פונקציונלית בגרסה זו. השתמש ב-SaveFormat.PPTX לכל פעולות השמירה.


האם אני יכול לפתוח .ppt (PowerPoint ישן 97-2003) קבצים?

לא. רק קבצי .pptx (Office Open XML) נתמכים. פורמט בינארי ישן .ppt אינו מטופל על‑ידי ספרייה זו.


איך אני ניגש לשקופיות?

המצגות הן אוסף מבוסס‑אפס הנגיש דרך prs.getSlides():

ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();

איך מוסיף שקף שני?

השתמש בprs.getSlides().addEmptySlide() עם פריסה:

try (Presentation prs = new Presentation()) {
    ILayoutSlide layout = prs.getLayoutSlides().get(0);
    prs.getSlides().addEmptySlide(layout);
    ISlide slide2 = prs.getSlides().get(1);
    prs.save("two-slides.pptx", SaveFormat.PPTX);
}

איך אני מגדיר את צבע הרקע של השקופית?

צבע רקע השקופית לא נתמך בגרסה זו של Aspose.Slides FOSS. אין שיטה getBackground() על ISlide או על כל מחלקה אחרת בספרייה זו. רקע השקופית קבוע כאשר המצגת נוצרה מהתבנית שלה. גרסה עתידית עשויה להוסיף שליטה ברקע.


איך אני משתמש בNullableBool?

NullableBool הוא enum בעל שלושה מצבים המשמש לתכונות עיצוב. השתמש ב-NullableBool.TRUE (לא ב-true של Java) עבור מודגש, נטוי ותכונות דומות:

import org.aspose.slides.foss.NullableBool;

fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);

למה הגדרת צבע הטקסט לא משפיעה?

עליך גם להגדיר את fillType לFillType.SOLID לפני הקצאת הצבע:

import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;

fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 200, 0, 0));

האם אני יכול להשתמש בתרשימים או ב‑SmartArt?

לא. תרשימים, SmartArt, אובייקטי OLE, אנימציות, מעברים, קישורים, מקרו VBA, וחתימות דיגיטליות אינם מיושמים בגרסה זו ומחזירים UnsupportedOperationException.


האם הספרייה בטוחה לשימוש מרובה תהליכים?

כל אובייקט Presentation הוא עצמאי. יצירת ושימוש במופעים נפרדים של Presentation מתוך חוטים נפרדים בטוחים כל עוד אינך חולק אובייקט Presentation יחיד בין חוטים ללא סינכרון חיצוני.


איך אני משלב תמונה?

קרא את בייטי התמונה והוסף אותם לprs.getImages(), ואז צור PictureFrame:

import org.aspose.slides.foss.ShapeType;

byte[] imageData = java.nio.file.Files.readAllBytes(
    java.nio.file.Paths.get("logo.png")
);
IPPImage image = prs.getImages().addImage(imageData);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);

ראה גם

 עברית