مقدمة
Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx ملفات بلغة C++ الأصلية، دون أي اعتماد على Microsoft Office أو أي بيئة تشغيل مملوكة.
تم تصميم المكتبة للمطورين الذين يحتاجون إلى إنشاء أو معالجة ملفات العروض التقديمية برمجيًا: أتمتة مجموعات الشرائح من البيانات، استخراج النص والبيانات الوصفية من ملفات PPTX التي تم تحميلها، بناء خطوط أنابيب تقارير تعتمد على العروض التقديمية، أو دمج إنشاء العروض التقديمية في تطبيقات سطح المكتب والخوادم. لأن aspose_slides_foss مبنية باستخدام CMake، تُجمع وتُنشر على Windows و macOS و Linux.
الميزات الرئيسية
- دعم كامل للرحلة ذهابًا وإيابًا لملفات PPTX: افتح أي
.pptxملف، عدّل محتواه، واحفظه مرة أخرى دون فقدان أجزاء XML غير المعروفة التي لا تزال المكتبة لا تفهمها. - إدارة الشرائح: أضف، احذف، وتصفح الشرائح باستخدام
prs.slides(); يبدأ العرض التقديمي بشريحة فارغة واحدة بعد إنشاءPresentation. - الأشكال التلقائية، الجداول، والموصلات: إدراج الأشكال عبر
slide.shapes().add_auto_shape(), البيانات الجدولية عبرslide.shapes().add_table(), و الموصلات البصرية بين الأشكال عبرslide.shapes().add_connector(). - تنسيق النص الغني: تنسيق النص على مستوى الحرف باستخدام
PortionFormat: حجم الخط، غامق، مائل، تحته خط، ولون ARGB عبرFillType::SOLIDوColorFormat. - أنواع التعبئة: تطبيق
FillType::SOLID,Gradient,Pattern, أوPictureيملأ أي شكل. - التأثيرات البصرية: الظل الخارجي، التوهج، الحافة الناعمة، الضبابية، الانعكاس، والظل الداخلي عبر
shape.effect_format(). - 3D formatting: الحافة المائلة، الكاميرا، مجموعة إضاءة، المادة، وعمق البثق عبر
shape.three_d_format(). - ملاحظات المتحدث: إرفاق نص الملاحظات بكل شريحة عبر
notes_slide_manager().add_notes_slide(). - تعليقات متسلسلة: إضافة تعليقات مع بيانات المؤلف وموقع الشريحة.
- صور مدمجة: تضمين من مسار ملف، مخزن الذاكرة، أو تدفق.
- خصائص المستند: قراءة وكتابة الخصائص الأساسية، وتطبيق، والمخصصة.
البدء
أضف المكتبة عبر CMake. يلزم وجود مترجم C++17.
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)
target_link_libraries(your_target PRIVATE aspose_slides_foss)
قم بإنشاء أول عرض مع شكل وتخزينه:
#include <Aspose/Slides/Foss/presentation.h>
int main() {
using namespace Aspose::Slides::Foss;
Presentation prs;
auto& slide = prs.slides()[0];
auto& shape = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 400, 120
);
shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
prs.save("hello.pptx", SaveFormat::PPTX);
return 0;
}
ال Presentation المُدمّر يحرّر جميع الموارد الداخلية تلقائيًا عندما يخرج من النطاق.
نص نص نموذج
#include <Aspose/Slides/Foss/presentation.h>
using namespace Aspose::Slides::Foss;
Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 500, 150
);
shape.text_frame()->set_text("Bold heading in corporate blue");
auto& fmt = shape.text_frame()->paragraphs()[0].portions()[0].portion_format();
fmt.set_font_height(28);
fmt.set_font_bold(NullableBool::TRUE);
fmt.fill_format().set_fill_type(FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(Color::from_argb(255, 0, 70, 127));
prs.save("formatted.pptx", SaveFormat::PPTX);
الحد الأدنى الحالي
المناطق التالية تُطلق استثناءات في هذا الإصدار:
- الرسم البياني، SmartArt، و OLE الأشياء
- الرسوم المتحركة والرسوم المتحركة
- تصدير إلى PDF أو HTML أو SVG أو تنسيقات الصورة
- الروابط الهيربرالية، إعدادات العمل، ماكرو VBA، والتوقيعات الرقمية
يتم الحفاظ على أجزاء XML غير معروفة التي تم العثور عليها أثناء التحميل على النسخ، بحيث يتم حفظ ملفات PPTX التي تنتجها أدوات أخرى في طريقها بأمان.