نصب

نصب 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 استفاده کنید.


منابع اضافی

 فارسی