1. المنتجات
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS لـ C++

إنشاء وقراءة وتحرير عروض PowerPoint من C++ — مجانية ومفتوحة المصدر، ولا تحتاج إلى اعتماد على Office.

مكتبة C++ مفتوحة المصدر لعروض PowerPoint

Aspose.Slides FOSS للـ C++ هو مكتبة مرخصة تحت رخصة MIT للعمل مع ملفات PowerPoint .pptx. دمجها عبر CMake FetchContent وابدأ فورًا في إنشاء وقراءة وتحرير العروض التقديمية دون تثبيت Microsoft Office أو أي بيئة تشغيل مملوكة.

تُظهر المكتبة واجهة برمجة تطبيقات Presentation مبنية حول Presentation، Slide، ShapeCollection، TextFrame، Paragraph وPortion، النموذج المفاهيمي الذي يستخدمه PowerPoint نفسه. أضف وأزل الشرائح، أدخل AutoShapes، الجداول، والموصلات، نسق النص على مستوى الحرف باستخدام الغامق، المائل، حجم الخط واللون، طبّق تعبئات صلبة أو متدرجة، وأضف تأثيرات بصرية (الظل، التوهج، التمويه، الانعكاس).

تضمن دلالات RAII تنظيف الموارد بشكل موثوق: يقوم مُدمّر Presentation بإطلاق جميع الحالة الداخلية تلقائيًا. يتم حفظ الأجزاء XML غير المعروفة التي تم مواجهتها أثناء التحميل كما هي عند الحفظ، لذا لا يدمر التدوير المحتوى الذي لا تفهمه المكتبة بعد. تتطلب المكتبة مُترجمًا متوافقًا مع C++20. لمزيد من الميزات، راجع Aspose.Slides for C++ enterprise edition.

واجهة برمجة تطبيقات العروض والشرائح

  • إنشاء وفتح PPTX: إنشاء عروض تقديمية جديدة أو فتح ملفات .pptx الموجودة عبر Presentation() أو Presentation(path).
  • إضافة وإزالة الشرائح: إدارة SlideCollection برمجيًا باستخدام add_empty_slide()، remove()، وremove_at().
  • AutoShapes: إدراج المستطيلات، والدوائر البيضاوية، والخطوط، وغيرها من ShapeType الهندسية عبر add_auto_shape().
  • الجداول والموصلات: أضف أشكال جداول منظمة وخطوط موصل بين الأشكال عبر add_connector().
  • ملاحظات المتحدث: قراءة وكتابة ملاحظات المتحدث لكل شريحة عبر NotesSlideManager.
  • التعليقات المتسلسلة: الوصول إلى سلاسل التعليقات عن طريق تكرار pres.comment_authors() وتعليقاتها المرتبطة.

أين يمكن استخدام Aspose.Slides FOSS

  • إنشاء التقارير: بناء مجموعات شرائح ذات علامة تجارية من مصادر البيانات دون Office.
  • أتمتة القوالب: ملء قوالب PPTX بالمحتوى الديناميكي في خطوط أنابيب CI/CD.
  • ترحيل المحتوى: قراءة العروض التقديمية الحالية وإعادة هيكلة الشرائح أو تعديل نمطها.
  • أنظمة مدمجة: معالجة ملفات PPTX في بيئات ذات أداء حرج أو موارد محدودة.
  • المعالجة الدفعية: تطبيق تغييرات تنسيق موحدة عبر مكتبات شرائح العرض الكبيرة.

تنسيق النص والتأثيرات البصرية

  • تنسيق على مستوى الأحرف: تطبيق الخط العريض، المائل، حجم الخط، واللون على كائنات Portion الفردية عبر PortionFormat.
  • ملء صلب وتدرج لوني: اضبط ملء الشكل إلى لون صلب أو تدرج خطي متعدد النقاط باستخدام FillFormat و FillType.
  • تأثيرات الظل والوهج: تطبيق الظل الخارجي، الوهج، الضبابية، والانعكاس على أي شكل عبر EffectFormat.
  • محاذاة الفقرة: اضبط اليسار أو الوسط أو اليمين أو الضبط الكامل لكل فقرة باستخدام ParagraphFormat و set_alignment().
  • آمن للرحلة المتكررة: يتم حفظ أجزاء XML غير المعروفة حرفيًا عند إعادة الحفظ.

تجربة المطور

Aspose.Slides FOSS يتكامل عبر CMake FetchContent، لذلك لا حاجة لتنزيل يدوي أو تثبيت على مستوى النظام. المكتبة تُبنى من المصدر جنبًا إلى جنب مع مشروعك.

تُطابق الواجهة البرمجية نموذج الكائنات الخاص بـ PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion)، لذا يمكن لأي شخص مألوف بنموذج كائنات PowerPoint استخدام المكتبة فورًا. إنها مرخصة MIT، مفتوحة المصدر على GitHub، وتحتاج إلى مُترجم متوافق مع C++20.

إنشاء عرض تقديمي وإضافة شكل

يضمن RAII أن مُدمّر Presentation يحرّر جميع الموارد تلقائيًا عندما يخرج الكائن من النطاق. add_auto_shape() يأخذ تعداد ShapeType، ثم موضع x/y وعرض/ارتفاع بالنقاط — يوفر text_frame الخاص بالشكل إمكانية الوصول لتعيين محتوى النص.

include(FetchContent)
FetchContent_Declare(
  aspose_slides_foss
  GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
  GIT_TAG main
)
FetchContent_MakeAvailable(aspose_slides_foss)
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>

int main() {
    Aspose::Slides::Foss::Presentation prs;
    auto& slide = prs.slides()[0];

    // Add a rectangle AutoShape
    auto& shape = slide.shapes().add_auto_shape(
        Aspose::Slides::Foss::ShapeType::RECTANGLE,
        50, 50, 400, 150
    );
    shape.text_frame()->set_text("Hello, Aspose.Slides!");

    prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
    return 0;
}
 ```cmake
include(FetchContent)
FetchContent_Declare(
  aspose_slides_foss
  GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
  GIT_TAG main
)
FetchContent_MakeAvailable(aspose_slides_foss)
 

تنسيق النص وتطبيق تأثير تعبئة

يعمل تنسيق النص على مستوى Portion — أصغر وحدة من سلسلة الأحرف. افتح الملف المحفوظ، وانتقل إلى الجزء الأول من الفقرة الأولى، وقم بتعيين خصائص الخط مباشرة. تعبئة الشكل مستقلة: اضبط نوع التعبئة إلى صلب وعيّن لونًا.

#include <Aspose/Slides/Foss/presentation.h>

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Bold, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}
 ```cpp
#include <Aspose/Slides/Foss/presentation.h>

namespace asf = Aspose::Slides::Foss;

int main() {
    asf::Presentation prs("output.pptx");
    auto& shape = prs.slides()[0].shapes()[0];
    auto& portion = shape.text_frame()
        ->paragraphs()[0].portions()[0];

    // Bold, 18pt text
    portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
    portion.portion_format().set_font_height(18);

    // Solid background fill on the shape
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}
 

الأسئلة الشائعة

ما هو Aspose.Slides FOSS للغة C++؟

إنها مكتبة C++ مجانية مرخصة بموجب رخصة MIT لإنشاء وقراءة وتحرير عروض PowerPoint .pptx دون الحاجة إلى Microsoft Office.

ما هي صيغ الملفات المدعومة؟

.pptx هو التنسيق المدعوم للقراءة والكتابة. التصدير إلى PDF، HTML، SVG، أو الصور غير متوفر في هذه النسخة.

هل يتطلب Microsoft Office أو PowerPoint؟

لا. Aspose.Slides FOSS هي مكتبة C++ مستقلة لا تعتمد على Microsoft Office أو COM automation أو أي بيئة تشغيل مملوكة.

كيف أقوم بتثبيته؟

استخدم CMake FetchContent لدمج المكتبة مباشرةً من GitHub. تتطلب المكتبة مُترجمًا متوافقًا مع C++20.

هل يمكنني تطبيق تأثيرات بصرية مثل الظل والتوهج؟

نعم. تدعم المكتبة تأثيرات الظل الخارجي، والتوهج، والتمويه، والانعكاس على أي كائن شكل عبر واجهة برمجة التطبيقات EffectFormat.

هل تستخدم المكتبة مبدأ RAII لإدارة الموارد؟

نعم. يقوم مُدمّر Presentation بتحرير جميع الحالة الداخلية تلقائيًا، لذا لا حاجة إلى تنظيف صريح.

هل سيتسبب تحويل PPTX ذهابًا وإيابًا في تدمير المحتوى غير المعروف؟

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

أين يمكنني العثور على الكود المصدري؟

المكتبة مرخصة بموجب رخصة MIT ومستضافة على GitHub. تقارير الأخطاء وطلبات السحب مرحب بها.

  

الدعم وموارد التعلم

 العربية