Aspose.Slides FOSS עבור C++ היא ספרייה ברישיון MIT לעבודה עם קבצי PowerPoint .pptx. שלבו אותה באמצעות CMake FetchContent והתחילו מיד ליצור, לקרוא ולערוך מצגות ללא צורך בהתקנת Microsoft Office או זמן ריצה קנייני.
הספרייה חושפת API של מצגות שנבנה סביב Presentation, Slide, ShapeCollection, TextFrame, Paragraph ו-Portion, מודל הקונספטואלי שבו משתמש PowerPoint עצמו. הוסף והסר שקופיות, הכנס AutoShapes, Tables ו-Connectors, עצב טקסט ברמת תו עם מודגש, נטוי, גודל גופן וצבע, החל מילוי אחיד או גרדיאנט, והוסף אפקטים חזותיים (shadow, glow, blur, reflection).
הסמנטיקה של 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().NotesSlideManager.pres.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;
}
זהו ספרייה חופשית, ברישיון MIT, ב‑C++ ליצירה, קריאה ועריכה של מצגות 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 requests) מוזמנים.