نصب
نصب Aspose.Slides FOSS برای C++
Aspose.Slides FOSS for C++ is a header-and-source library built with CMake. It has no binary distribution; you integrate it directly into your CMake project from the GitHub repository. No Microsoft Office or other proprietary runtime is required.
پیشنیازها
| نیازمندی | جزئیات |
|---|---|
| استاندارد C++ | C++20 یا بالاتر |
| سیستم ساخت | CMake 3.20 یا بالاتر |
| کامپایلر | GCC 10+، Clang 13+، یا MSVC 2019+ (هر کامپایلری که از C++20 پشتیبانی کند) |
| سیستم عامل | Windows، macOS، Linux |
| وابستگیهای خارجی | هیچکدام (تمام وابستگیها vendored یا فقط هدر هستند) |
1. CMake FetchContent (Recommended)
سادهترین راه برای افزودن Aspose.Slides FOSS به پروژهتان CMake FetchContent است. این را به CMakeLists.txt:
cmake_minimum_required(VERSION 3.20)
project(my_slides_app LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
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)CMake مخزن را دانلود میکند و هدف کتابخانه را در دسترس میگذارد. نیازی به کلون دستی یا نصب در سطح سیستم نیست.
برای قفل کردن یک نسخه خاص بهمنظور ساختهای قابل تکرار، جایگزین کنید main با یک برچسب انتشار یا هش کمیت:
FetchContent_Declare(
aspose_slides_foss
GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
GIT_TAG v26.3.0
)2. Git Submodule
اگر ترجیح میدهید کد منبع را داخل مخزن خود نگهداری کنید:
git submodule add https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git third_party/aspose_slides_fossسپس از آن در CMakeLists.txt:
add_subdirectory(third_party/aspose_slides_foss)
target_link_libraries(my_app PRIVATE aspose_slides_foss)3. Build and Verify
پس از افزودن وابستگی، پروژهٔ خود را پیکربندی و بسازید:
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build buildیک حداقل ایجاد کنید main.cpp برای تأیید ساخت:
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <iostream>
using namespace Aspose::Slides::Foss;
int main() {
Presentation pres;
std::cout << "Aspose.Slides FOSS built successfully" << std::endl;
std::cout << "Slides in empty presentation: " << pres.slides().size() << std::endl;
return 0;
}خروجی مورد انتظار:
Aspose.Slides FOSS built successfully
Slides in empty presentation: 1شروع سریع: ایجاد یک ارائه با یک شکل
برنامه زیر یک ارائه جدید ایجاد میکند، یک مستطیل با متن اضافه میکند و آن را بهعنوان یک .pptx فایل:
#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>
#include <iostream>
using namespace Aspose::Slides::Foss;
int main() {
Presentation pres;
auto& slide = pres.slides()[0];
// Add a rectangle shape and set its text
auto& shape = slide.shapes().add_auto_shape(ShapeType::RECTANGLE, 50, 50, 400, 150);
shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
pres.save("hello.pptx", SaveFormat::PPTX);
std::cout << "Saved hello.pptx" << std::endl;
return 0;
}مهم: Presentation از RAII استفاده میکند. وقتی شیء از محدوده خارج میشود، منابع داخلی بهصورت خودکار آزاد میشوند. همچنین میتوانید صدا بزنید pres.dispose() بهصورت صریح در صورت نیاز؛ فراخوانی آن چندین بار ایمن است.
یادداشتهای پلتفرم
ویندوز، macOS، لینوکس: کتابخانه بهصورت یکسان بر روی تمام پلتفرمها ساخته میشود. هیچ مسیر کد یا افزونه باینری مخصوص پلتفرم وجود ندارد.
Docker / CI: مخزن را در مرحله ساخت خود کلون یا فچ کنید و CMake را اجرا کنید. هیچ بستهٔ سیستمی اضافی جز یک کامپایلر C++20 و CMake مورد نیاز نیست.
vcpkg / Conan: در حال حاضر در vcpkg یا Conan منتشر نشده است. بهجای آن از FetchContent یا زیرماژول git استفاده کنید.
منابع اضافی
- صفحه محصول: مرور کلی، خلاصه ویژگیها، و شروع سریع
- مجوز: جزئیات مجوز MIT، نیازی به کلید API نیست
- راهنمای توسعهدهنده: راهنمای ویژگیها با مثالهای کد
- مرجع API: مرجع کلاسها و متدها