مقدمة

أصبح Aspose.Slides FOSS for Java متاحًا الآن على Maven Central: مكتبة مجانية مرخصة بموجب MIT لإنشاء وقراءة وتحرير ملفات PowerPoint .pptx بالكامل باستخدام Java، دون أي اعتماد على Microsoft Office أو أي بيئة تشغيل مملوكة.

المكتبة مصممة للمطورين الذين يحتاجون إلى إنشاء أو معالجة ملفات العروض التقديمية برمجياً: أتمتة مجموعات الشرائح من البيانات، استخراج النص والبيانات الوصفية من ملفات PPTX التي تم تحميلها، بناء خطوط تقارير تعتمد على العروض التقديمية، أو دمج إنشاء العروض التقديمية في تطبيقات Spring Boot. لأن aspose-slides-foss هي جافا صافية، فإنها تُنشر بنفس الطريقة على 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().
  • تنسيق ثلاثي الأبعاد: الحافة المائلة، الكاميرا، نظام الإضاءة، المادة، وعمق البثق عبر 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 التي تنتجها الأدوات الأخرى تمر بعملية التحميل والحفظ بأمان.

انظر أيضًا