مقدمة

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx ملفات بالكامل في Java، دون أي اعتماد على Microsoft Office أو أي بيئة تشغيل مملوكة.

تم تصميم المكتبة للمطورين الذين يحتاجون إلى إنشاء أو معالجة ملفات العروض التقديمية برمجيًا: أتمتة مجموعات الشرائح من البيانات، استخراج النص والبيانات الوصفية من ملفات PPTX التي تم تحميلها، بناء خطوط أنابيب تقارير تعتمد على العروض التقديمية، أو دمج إنشاء العروض التقديمية في تطبيقات Spring Boot. لأن aspose-slides-foss كونها نقيّة Java، يتم نشرها بشكل متماثل على Windows و macOS و Linux وحاويات Docker.

الميزات الرئيسية

  • دعم كامل للرحلة ذهابًا وإيابًا لملفات PPTX: افتح أي .pptx ملف، عدّل محتواه، واحفظه مرة أخرى دون فقدان أجزاء XML غير المعروفة التي لا تزال المكتبة لا تفهمها.
  • إدارة الشرائح: أضف، احذف، وتصفح الشرائح باستخدام prs.getSlides(); يبدأ العرض التقديمي بشريحة فارغة واحدة بعد new Presentation().
  • الأشكال التلقائية، الجداول، والموصلات: إدراج الأشكال عبر slide.getShapes().addAutoShape(), بيانات جدولية عبر slide.getShapes().addTable(), والموصلات البصرية بين الأشكال عبر slide.getShapes().addConnector().
  • تنسيق النص الغني: تنسيق النص على مستوى الحرف باستخدام PortionFormat: حجم الخط، عريض، مائل، تحته خط، ولون ARGB عبر FillType.SOLID و ColorFormat.
  • أنواع التعبئة: تطبيق FillType.SOLID, GRADIENT, PATTERN, أو PICTURE يملأ أي شكل.
  • التأثيرات البصرية: الظل الخارجي، التوهج، الحافة الناعمة، الضبابية، الانعكاس، والظل الداخلي عبر shape.getEffectFormat().
  • 3D formatting: الحافة المائلة، الكاميرا، مجموعة الإضاءة، المادة، وعمق البثق عبر shape.getThreeDFormat().
  • ملاحظات المتحدث: إرفاق نص الملاحظات بكل شريحة عبر getNotesSlideManager().addNotesSlide().
  • تعليقات متسلسلة: إضافة تعليقات مع بيانات المؤلف وموقع الشريحة.
  • صور مدمجة: تضمين من مسار الملف، بايتات، أو InputStream.
  • خصائص المستند: قراءة وكتابة الخصائص الأساسية، وتطبيق، والمخصصة.

البدء

أضف تبعية Maven. 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;
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.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

public class HelloSlides {
    public static void main(String[] args) {
        try (Presentation prs = new Presentation()) {
            ISlide slide = prs.getSlides().get(0);
            IAutoShape shape = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 50, 400, 120
            );
            shape.addTextFrame("Hello from Aspose.Slides FOSS!");
            prs.save("hello.pptx");
        }
    }
}

استخدم دائمًا Presentation داخل كتلة try-with-resources؛ هذا يضمن تحرير جميع الموارد الداخلية عند خروج الكتلة.

مثال تنسيق النص

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.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 500, 150
    );
    ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
    IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
    fmt.setFontHeight(28);
    fmt.setFontBold(NullableBool.TRUE);
    fmt.getFillFormat().setFillType(FillType.SOLID);
    fmt.getFillFormat().getSolidFillColor().setColor(new Color(0, 70, 127));
    prs.save("formatted.pptx");
}

القيود الحالية

المناطق التالية تُلقي UnsupportedOperationException في هذا الإصدار:

  • المخططات، SmartArt، وكائنات OLE
  • الرسوم المتحركة وانتقالات الشرائح
  • تصدير إلى PDF أو HTML أو SVG أو صيغ الصور
  • الروابط التشعبية، إعدادات الإجراءات، ماكرو VBA، والتوقيعات الرقمية

الأجزاء غير المعروفة من XML التي تم مواجهتها أثناء التحميل تُحفظ حرفيًا عند الحفظ، لذا فإن ملفات PPTX التي تُنتجها أدوات أخرى تُعاد بنجاح دون فقدان.

انظر أيضًا