سوالات متداول
سوالات متداول
چگونه Aspose.Slides FOSS را نصب کنم؟
وابستگی 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.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);
}به چه فرمتهای فایلی میتوانم ذخیره کنم؟
فقط PPTX پشتیبانی میشود:
import org.aspose.slides.foss.export.SaveFormat;
prs.save("output.pptx", SaveFormat.PPTX);صادرات به PDF، HTML، SVG یا فرمتهای تصویر (PNG، JPEG) در این نسخه موجود نیست.
آیا میتوانم فایلهای .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 جاوا) استفاده کنید:
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 را ایجاد میکنند.
آیا کتابخانه thread-safe است؟
هر شیء 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);