كيفية البدء مع Aspose.Slides FOSS لـ Java

كيفية البدء مع Aspose.Slides FOSS لـ Java

aspose-slides-foss لـ Java هي مكتبة مجانية مرخصة بموجب رخصة MIT لإنشاء وتحرير ملفات PowerPoint .pptx — لا حاجة إلى Microsoft Office، متوفرة على Maven Central.

دليل خطوة بخطوة

الخطوة 1: إضافة تبعية Maven

أضف الاعتماد إلى pom.xml (يتطلب Java 21 أو أحدث):

<dependency>
    <groupId>org.aspose.slides.foss</groupId>
    <artifactId>aspose-slides-foss</artifactId>
    <version>1.0.0</version>
</dependency>

تحقق من أن الحزمة تُحل بشكل صحيح عن طريق بناء المشروع:

mvn dependency:resolve

الخطوة 2: استيراد الفئات المطلوبة

استورد الفئات التي تحتاجها لتحميل العروض التقديمية وحفظها:

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.ShapeType;
import org.aspose.slides.foss.FillType;

الخطوة 3: إنشاء عرض تقديمي

قم بإنشاء Presentation بدون أي معاملات للبدء بشريحة فارغة واحدة. استخدم دائمًا try-with-resources لضمان تحرير الموارد الداخلية:

import org.aspose.slides.foss.Presentation;

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

الخطوة 4: إضافة شكل مع نص

استخدم slide.getShapes().addAutoShape() لإدراج مستطيل، ثم استدعِ addTextFrame() لإضافة محتوى نصي:

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.NullableBool;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS!");
    IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
    fmt.setFontHeight(24);
    fmt.setFontBold(NullableBool.TRUE);
    prs.save("with_shape.pptx");
}

الخطوة 5: تطبيق تعبئة وحفظ

قم بتعيين لون تعبئة صلبة على الشكل قبل الحفظ:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 100, 100, 400, 200
    );
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor().setColor(new Color(70, 130, 180));
    shape.addTextFrame("Styled shape");
    prs.save("styled.pptx");
}

المشكلات الشائعة والحلول

ClassNotFoundException لـ org.aspose.slides.foss.Presentation
اعتماد Maven غير محلول. شغّل mvn dependency:resolve وتأكد من أن
القطعة متاحة في Maven Central. تحقق من الإصدار في pom.xml.

UnsupportedOperationException عند استدعاء بعض الطرق بعض الميزات (المخططات، الرسوم المتحركة، تصدير PDF) تُطلق UnsupportedOperationException في هذا الإصدار. تحقق من قسم القيود المعروفة في مرجع API قبل استخدام الميزات المتقدمة.

إحداثيات الشكل غير صحيحة
الإحداثيات والأبعاد بوحدات EMU (الوحدات المتريّة الإنجليزية). النقطة الواحدة تقريبًا 12700 EMU. الشريحة الافتراضية هي 9144000 × 6858000 EMU.

الملف غير موجود عند تحميل PPTX موجود
مرّر مسارًا مطلقًا أو تأكد من ضبط دليل العمل بشكل صحيح:

import java.nio.file.Paths;
String path = Paths.get("presentations", "existing.pptx").toAbsolutePath().toString();
try (Presentation prs = new Presentation(path)) { ... }

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

هل يتطلب aspose-slides-foss Microsoft Office؟

لا. تُنشئ المكتبة وتقرأ ملفات .pptx أصلاً في جافا النقية دون أي اعتماد على Microsoft Office أو COM automation أو Windows APIs.

ما إصدارات Java المدعومة؟

Java 21 أو أحدث. المكتبة تعمل على Windows و macOS و Linux وحاويات Docker.

هل المكتبة مجانية للاستخدام التجاري؟

نعم. تم إصداره تحت رخصة MIT. يمكنك الاستخدام، والتعديل، وإعادة توزيعه لـ أي غرض، بما في ذلك التطبيقات التجارية.

هل يمكنني تحميل ملف PPTX موجود؟

نعم. مرّر مسار الملف إلى مُنشئ Presentation:

try (Presentation prs = new Presentation("existing.pptx")) {
    System.out.println("Loaded " + prs.getSlides().size() + " slides");
    prs.save("copy.pptx");
}

هل أحتاج إلى إغلاق العرض التقديمي صراحةً؟

نعم. Presentation ينفّذ AutoCloseable. استخدم دائمًا try-with-resources (try (Presentation prs = new Presentation()) { ... }) لضمان التنظيف.

انظر أيضًا

 العربية