Aspose.Slides FOSS עבור C++ היא ספרייה ברישיון MIT לעבודה עם קבצי PowerPoint .pptx. שלבו אותה באמצעות CMake FetchContent והתחילו מיד ליצור, לקרוא ולערוך מצגות ללא צורך בהתקנת Microsoft Office או זמן ריצה קנייני.
הספרייה חושפת API של מצגות המבוסס על Presentation, Slide, ShapeCollection, TextFrame, Paragraph ו‑Portion, המודל הקונספטואלי שבו משתמש PowerPoint עצמו. הוסיפו והסירו שקופיות, הכניסו AutoShapes, טבלאות ומחברים, עצבו טקסט ברמת תו עם מודגש, נטוי, גודל גופן וצבע, החליקו מילוי אחיד או גרדיאנט, והוסיפו אפקטים חזותיים (צל, זוהר, טשטוש, השתקפות).
הסמנטיקה של 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 — היחידה הקטנה ביותר של רצף תווים. פתחו את הקובץ השמור, נווטו לחלק הראשון של הפסקה הראשונה, וקבעו את מאפייני הגופן ישירות. מילוי הצורה הוא עצמאי: קבעו את סוג המילוי למוצק והקצו צבע.
#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.
כן. הספרייה תומכת באפקטים של צל חיצוני, זוהר, טשטוש והשתקפות על כל אובייקט צורה דרך EffectFormat API.
כן. הפונקציית הסיום Presentation משחררת את כל המצב הפנימי אוטומטית, ולכן אין צורך בניקוי מפורש.
לא. חלקי XML לא ידועים שנמצאו במהלך הטעינה נשמרים במדויק בעת השמירה, ולכן תוכן שהספרייה עדיין אינה מבינה לא הולך לאיבוד.
הספרייה בעלת רישיון MIT ומתארחת ב‑GitHub. דיווחי באגים ובקשות משיכה (pull requests) מוזמנים.