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 الموجودة عبر Presentation() أو Presentation(path).SlideCollection برمجيًا باستخدام add_empty_slide()، remove()، وremove_at().ShapeType الهندسية عبر add_auto_shape().add_connector().NotesSlideManager.pres.comment_authors() وتعليقاتها المرتبطة.Portion الفردية عبر PortionFormat.FillFormat و FillType.EffectFormat.ParagraphFormat و set_alignment().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;
}
إنها مكتبة C++ مجانية مرخصة بموجب رخصة MIT لإنشاء وقراءة وتحرير عروض PowerPoint .pptx دون الحاجة إلى Microsoft Office.
.pptx هو التنسيق المدعوم للقراءة والكتابة. التصدير إلى PDF، HTML، SVG، أو الصور غير متوفر في هذه النسخة.
لا. Aspose.Slides FOSS هي مكتبة C++ مستقلة لا تعتمد على Microsoft Office أو COM automation أو أي بيئة تشغيل مملوكة.
استخدم CMake FetchContent لدمج المكتبة مباشرةً من GitHub. تتطلب المكتبة مُترجمًا متوافقًا مع C++20.
نعم. تدعم المكتبة تأثيرات الظل الخارجي، والتوهج، والتمويه، والانعكاس على أي كائن شكل عبر واجهة برمجة التطبيقات EffectFormat.
نعم. يقوم مُدمّر Presentation بتحرير جميع الحالة الداخلية تلقائيًا، لذا لا حاجة إلى تنظيف صريح.
لا. يتم حفظ الأجزاء غير المعروفة من XML التي تم مواجهتها أثناء التحميل كما هي عند الحفظ، لذا لا يُفقد أي محتوى لا تفهمه المكتبة بعد.
المكتبة مرخصة بموجب رخصة MIT ومستضافة على GitHub. تقارير الأخطاء وطلبات السحب مرحب بها.