Aspose.Slides FOSS برای C++ یک کتابخانه متن باز با مجوز MIT برای کار با فایلهای PowerPoint .pptx است. آن را از طریق CMake FetchContent یکپارچه کنید و بلافاصله شروع به ایجاد، خواندن و ویرایش ارائهها کنید بدون نیاز به نصب Microsoft Office یا هر زماناجرای مالکیتی.
کتابخانه یک API ارائه (Presentation) را که بر پایهٔ Presentation، Slide، ShapeCollection، TextFrame، Paragraph و Portion ساخته شده است، که مدل مفهومی مورد استفادهٔ PowerPoint میباشد، ارائه میدهد. اسلایدها را اضافه یا حذف کنید، AutoShapeها، جدولها و کانکتورها را وارد کنید، متن را در سطح کاراکتر با بولد، ایتالیک، اندازه و رنگ قلم قالببندی کنید، پرکنندههای ثابت یا گرادیان اعمال کنید و افکتهای بصری (سایه، درخشندگی، تاری، بازتاب) اضافه کنید.
معنای RAII تضمین میکند که پاکسازی منابع بهصورت قابل اعتماد انجام شود: مخرب Presentation تمام وضعیت داخلی را بهصورت خودکار آزاد میکند. بخشهای XML ناشناختهای که در حین بارگذاری مواجه میشوند، بهصورت دقیق در زمان ذخیرهسازی حفظ میشوند، بنابراین دوردور (round‑tripping) هرگز محتوایی را که کتابخانه هنوز نمیفهمد، از بین نمیبرد. این کتابخانه به یک کامپایلر سازگار با C++17 نیاز دارد.
.pptx موجود را از طریق Presentation() یا Presentation(path) باز کنید.SlideCollection را با add_clone()، remove() و remove_at() مدیریت کنید.ShapeType را از طریق add_auto_shape() وارد کنید.add_connector() اضافه کنید.NotesSlideManager بخوانید و بنویسید.get_slide_comments() دسترسی پیدا کنید.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++17 نیاز دارد.
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];
// افزودن یک AutoShape مستطیل
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("سلام، Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
قالببندی متن در سطح Portion کار میکند — کوچکترین واحد یک دنبالهٔ کاراکترها. فایل ذخیرهشده را باز کنید، به اولین portion از اولین پاراگراف بروید و ویژگیهای قلم را مستقیماً تنظیم کنید. پر کردن شکل مستقل است: نوع پر کردن را به solid تنظیم کنید و یک رنگ اختصاص دهید.
#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];
// متن ضخیم، 18pt
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// پر کردن پسزمینه به صورت جامد روی شکل
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++17 نیاز دارد.
بله. کتابخانه از افکتهای سایه خارجی، درخشندگی، تاری و انعکاس بر روی هر شیء شکل از طریق API EffectFormat پشتیبانی میکند.
بله. مخرب Presentation تمام وضعیت داخلی را بهصورت خودکار آزاد میکند، بنابراین نیازی به پاکسازی صریح نیست.
خیر. بخشهای XML ناشناختهای که در هنگام بارگذاری مواجه میشوند، بهصورت دقیق در زمان ذخیرهسازی حفظ میشوند، بنابراین محتوایی که کتابخانه هنوز درک نمیکند، هرگز از دست نمیرود.
این کتابخانه تحت مجوز MIT است و در GitHub میزبانی میشود. گزارشهای باگ و درخواستهای pull request خوشآمد میگویند.