كيفية البدء مع Aspose.Slides FOSS لـ C++
aspose_slides_foss لـ C++ هو مكتبة مجانية ومعتمدة من قبل MIT للإنشاء والتحرير. PowerPoint .pptx الملفات – لا يطلب Microsoft Office، تم إنشاؤها مع CMake.
خطوة بخطوة دليل
الخطوة 1: إضافة المكتبة عبر CMake
إضافة aspose_slides_foss إلى الخاص بك CMakeLists.txt (مطلوب تركيب C++20):
cmake_minimum_required(VERSION 3.20)
project(MyProject)
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)
add_executable(my_app main.cpp)
target_link_libraries(my_app PRIVATE aspose_slides_foss)الخطوة 2: إدراج الأقواس المطلوبة
إدراج العناوين للصفوف التي تحتاجها:
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/text_frame.h>
#include <Aspose/Slides/Foss/export/save_format.h>الخطوة الثالثة: إعداد عرض
بناء أ Presentation ابدأ بـ 1 سلايد فارغ ثم احفظه:
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/export/save_format.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation prs;
prs.save("new_presentation.pptx", SaveFormat::PPTX);
return 0;
}الخطوة 4: إضافة شكل مع النص
استخدام slide.shapes().add_auto_shape() إدخال مستطيل ثم الاتصال text_frame()->set_text() إضافة محتوى النص:
#include <Aspose/Slides/Foss/auto_shape.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>
#include <Aspose/Slides/Foss/export/save_format.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation prs;
auto& slide = prs.slides()[0];
auto& shape = slide.shapes().add_auto_shape(
ShapeType::RECTANGLE, 50, 50, 400, 150
);
shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
prs.save("with_shape.pptx", SaveFormat::PPTX);
return 0;
}الخطوة 5: قم بتطبيق ملء وتوفير
ضع لون ملء قوي على الشكل قبل حفظه:
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/fill_format.h>
#include <Aspose/Slides/Foss/fill_type.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/export/save_format.h>
using namespace Aspose::Slides::Foss;
int main() {
Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
ShapeType::RECTANGLE, 100, 100, 400, 200
);
shape.fill_format().set_fill_type(FillType::SOLID);
shape.fill_format().solid_fill_color().set_color(0xFF, 0x46, 0x82, 0xB4);
shape.text_frame()->set_text("Styled shape");
prs.save("styled.pptx", SaveFormat::PPTX);
return 0;
}مشكلات و تصحيحات مشتركة
خطأ في اليمين مع الإشارات غير المحددة ضمان target_link_libraries(your_target PRIVATE aspose_slides_foss) فيك هو في CMakeLists.txt وقد تم إدراج المكتبة بنجاح من خلال FetchContent.
لا يوجد ملف العنوان إدراج المسار الكامل الذي يبدأ مع <Aspose/Slides/Foss/...>.هرب cmake --build من مكتبة البناء وليس من المكتب المصدر.
UnsupportedOperationException معادلة لميزات غير مدعومة بعض الميزات (الرسوم البيانية، الرسوم المتحركة، تصدير PDF) غير مدعومة. وثيقة قائمة الحد الأدنى للقيود.
تساقط عند الوصول إلى الشرائح حسب المؤشر الافتراضية Presentation يخلق دائمًا شريط واحد في المؤشر 0.إذا قمت بتحميل شريطة فارغة إزالة أو إلغاء جميع الشرائح،, prs.slides()[0] سوف تكون خارج نطاق.
الأسئلة المتكررة
هل يتطلب aspose_slides_foss Microsoft Office؟?
لا. تخلق المكتبة وتقرأ .pptx الملفات الأصلية في C++ مع لا تعتمد على على Microsoft Office أو COM Automation أو Windows APIs.
ما هي المعايير و C++ التي يتم دعمها؟?
يتطلب المكتبة C++20 أو أعلى.يتم اختبارها مع GCC 11+، Clang 13+ و MSVC 2022.
هل المكتبة مجانية للاستخدام التجاري؟?
نعم يتم إصدارها بموجب ترخيص MIT. يمكنك استخدامها وتعديلها وإعادة توزيعها لأي غرض، بما في ذلك التطبيقات التجارية.
هل يمكنني تحميل ملف PPTX الحالي؟?
نعم.مر على مسار الملف إلى Presentation البناء :
Presentation prs("existing.pptx");
prs.save("copy.pptx", SaveFormat::PPTX);كيف يمكنني إضافة العديد من الشرائح؟?
استخدام prs.slides().add_empty_slide(layout) بعد أن حصلت على ترتيب من prs.masters()[0].layout_slides()[0].