Aspose.Slides FOSS برای C++ یک کتابخانه تحت مجوز MIT برای کار با فایلهای .pptx پاورپوینت است. آن را از طریق CMake FetchContent یکپارچه کنید و بلافاصله شروع به ایجاد، خواندن و ویرایش ارائهها کنید بدون اینکه نیاز به نصب Microsoft Office یا هر زماناجرای مالکیتی داشته باشید.
کتابخانه یک API ارائه میدهد که حول Presentation، Slide، ShapeCollection، TextFrame، Paragraph و Portion ساخته شده است، مدل مفهومی که خود PowerPoint از آن استفاده میکند. اسلایدها را اضافه و حذف کنید، AutoShapes، Tables و Connectors را وارد کنید، متن را در سطح کاراکتر با بولد، ایتالیک، اندازه و رنگ قلم قالببندی کنید، پرکنندههای ثابت یا گرادیان اعمال کنید، و افکتهای بصری (سایه، درخشندگی، تاری، بازتاب) را اضافه کنید.
معنای 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() اضافه کنید.NotesSlideManagerpres.comment_authors() و نظرات مرتبط با آنها.Portion جداگانه از طریق PortionFormat اعمال کنید.FillFormat و FillType تنظیم کنید.EffectFormat اعمال کنید.ParagraphFormat و set_alignment() تنظیم کنید.Aspose.Slides FOSS از طریق CMake FetchContent یکپارچه میشود، بنابراین نیازی به دانلود دستی یا نصب سراسری سیستم نیست. کتابخانه از منبع همراه با پروژه شما ساخته میشود.
API مدل شیء PowerPoint را بازتاب میدهد (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion)، بنابراین هر کسی که با مدل شیء PowerPoint آشناست میتواند بلافاصله از کتابخانه استفاده کند. این کتابخانه تحت مجوز MIT است، به صورت منبع باز در GitHub موجود است و به یک کامپایلر سازگار با C++20 نیاز دارد.
RAII تضمین میکند که مخرب Presentation تمام منابع را بهصورت خودکار هنگام خروج شیء از محدوده آزاد کند. add_auto_shape() یک مقدار enum 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، یا هر زماناجرای مالکیتی ندارد.
از CMake FetchContent برای ادغام کتابخانه بهصورت مستقیم از GitHub استفاده کنید. این کتابخانه به یک کامپایلر سازگار با C++20 نیاز دارد.
بله. کتابخانه از افکتهای سایه خارجی، درخشندگی، تاری و انعکاس بر روی هر شیء شکلدار از طریق API EffectFormat پشتیبانی میکند.
بله. مخرب Presentation تمام وضعیت داخلی را بهصورت خودکار آزاد میکند، بنابراین نیازی به پاکسازی صریح نیست.
خیر. بخشهای ناشناخته XML که در حین بارگذاری مواجه میشوند، بهصورت دقیق در زمان ذخیرهسازی حفظ میشوند، بنابراین محتوایی که کتابخانه هنوز درک نمیکند، هرگز از دست نمیرود.
این کتابخانه تحت مجوز MIT است و در GitHub میزبانی میشود. گزارشهای باگ و درخواستهای pull خوشآمدید.