الأسئلة المتكررة

الأسئلة المتكررة

كيف أقوم بتثبيت 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);
}

ما هي صيغ الملفات التي يمكنني الحفظ إليها؟

فقط 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 هو تعداد ثلاثي الحالة يُستخدم لخصائص التنسيق. استخدم 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.


هل المكتبة آمنة في بيئة متعددة الخيوط؟

كل كائن 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);

انظر أيضًا

 العربية