הכניסה

Aspose.Slides FOSS for C++ (aspose_slides_foss• היא ספרייה C++20 קוד פתוח, חינם ליצירת וניתוח של הצגות PowerPoint באופן תכנותי.בניין לחלוטין ב- C ++ המקומי ללא תלויות זמני עבודה חיצוניות מעבר ל- CMake 3.20+, זה נותן למפתחים שליטה מלאה על קבצי PPTX ללא צורך Microsoft Office או כל תוכנה בעלת תועלת.

הספרייה שוחררה תחת רישיון MIT, מה שהופך אותה מתאימה לפרויקטים מסחריים ולא מסחרי. Aspose::Slides::Foss שם מרחב ומספק מודל אובייקט עשיר המכסה הצגות, סלידים, צורות, טבלאות, מסגרות טקסט, תכונות מסמך, הערות ו PPTX ייצוא.

הפוסט הזה עובד דרך פני ה- API הליבה: השיעורים והשיטות שתשתמשו בהם לעתים קרובות ביותר בעת בניית, עיצוב ושמירה על הצגות.


מה כולל

ניהול וניהול Slide

The Presentation הקמת דוגמה חדשה נותנת לך סליד ברירת מחדל מיד מוכן לתוכן. SlideCollection חזרה על ידי slides(), אשר תומך גישה מדויקת, איטרה, הסרת, ושיקום.

#include <Aspose/Slides/Foss/presentation.h>
using namespace Aspose::Slides::Foss;

Presentation pres;
auto& slide = pres.slides()[0]; // first slide
// Work with the slide...
pres.save("output.pptx", SaveFormat::PPTX);

צורות ו- AutoShapes

כל סליל מראה את ShapeCollection דרך שלה shapes() אוסף מספק שיטות מפעל להוסיף סוגים שונים של צורות: add_auto_shape עבור צורות גיאומטריות סטנדרטיות (קווים ישרים, אליפסות, משולשים), add_connector עבור קווי קו, add_table על שולחנות, ועל add_picture_frame עבור תמונות .

auto& slide = pres.slides()[0];

// Add a rectangle
auto& rect = slide.shapes().add_auto_shape(
    ShapeType::RECTANGLE, 50, 50, 300, 100);

// Add an ellipse
auto& ellipse = slide.shapes().add_auto_shape(
    ShapeType::ELLIPSE, 400, 50, 150, 150);

// Add a connector between shapes
auto& conn = slide.shapes().add_connector(
    ShapeType::BENT_CONNECTOR3, 0, 0, 1, 1);

The ShapeCollection גם תומכים size(), remove(), remove_at(), reorder(), index_of(), ו clear() כדי לנהל את הצורות לאחר היצירה.

טקסט ופרק פורמט

ניתן להכיל טקסט באמצעות TextFrame.שימוש add_text_frame() על א AutoShape כדי להוסיף תוכן טקסט, או לגשת למסגרת קיימת באמצעות text_frame().הטקסט מאורגן לפי פרקים, כל אחד מכיל חלק אחד או יותר. BasePortionFormat המעמד מציג תכונות סגנון טקסט כולל אמיץ, איטלקי, סוג בסיס, קפיטליזציה, צבע טפט וקטן.

auto& shape = pres.slides()[0].shapes().add_auto_shape(
    ShapeType::RECTANGLE, 50, 50, 300, 100, false);
shape.add_text_frame("Hello, world!");
auto text = shape.text_frame()->text(); // "Hello, world!"

תוצאות, גרדינט ותופעות חזותיות

כל צורה מספקת את FillFormat גישה דרך fill_format().אתה יכול להגדיר מילוי מוצק, מילויים גרדינט או מילונים דפוס דרך set_fill_type() שיטת הגדרת גדלים: המלאי מתארגנים דרך GradientFormat אובייקט, אשר תומך באזני ליניארי, צורת גרדינט, וסטודי צבע באמצעות GradientStopCollection.

auto& shape = slide.shapes().add_auto_shape(
    ShapeType::RECTANGLE, 50, 50, 300, 150);
shape.fill_format().set_fill_type(FillType::GRADIENT);
auto& gf = shape.fill_format().gradient_format();
gf.set_gradient_shape(GradientShape::LINEAR);
gf.set_linear_gradient_angle(45);
gf.gradient_stops().add(0.0f, Color::blue);
gf.gradient_stops().add(1.0f, Color::red);

The EffectFormat שיעור (הגישה דרך effect_format()• הוספת תופעות של צל, צבע חיצוני ופיצול רך.כל אפקט מופעל באמצעות שיטה מיוחדת (enable_glow_effect(), enable_outer_shadow_effect(), enable_soft_edge_effect()• הושלמה באמצעות האובייקט החוזר שלה.

שולחנות

שולחנות נוצרו עם add_table() על אוסף הצורה.אתה מספק את רוחב העמודה ואת גובה השורות כווקטורים. Table אובייקטים מופיעים rows() ו columns() אוסף, ואחד הפרט Cell תמיכה בתוכן טקסט באמצעות TextFrame.

std::vector<double> col_widths = {100, 150, 200};
std::vector<double> row_heights = {40, 40, 40};
auto& table = slide.shapes().add_table(
    50, 50, col_widths, row_heights);
// table.rows().size() == 3
// table.columns().size() == 3

תכונות וערות מסמך

The DocumentProperties שיעור מאפשר לך להגדיר נתונים מטא-דאו כגון הכותרת, המחבר, נושא, מילות מפתח, קטגוריה, מספר ביקורת ושעות.

הערות נשמרות דרך CommentAuthorCollection ו CommentCollection.אתה מוסיף סופרים עם add_author(), ולאחר מכן להוסיף הערות לסליידים ספציפיים בשיתוף פעולה מסוים.

Presentation pres;
auto& author = pres.comment_authors().add_author("Alice", "A");
auto& slide = pres.slides()[0];
auto& comment = author.comments().add_comment(
    "Review note", slide, PointF(2.0f, 3.0f), now);

מהיר התחלה

בנייה ממקור

הספרייה דורשת CMake 3.20+ ו- C++20 יכולת קובץ. הקלד את המאגר ובנה:

git clone https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
cd Aspose.Slides-FOSS-for-Cpp
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

דוגמה מינימלית

#include <Aspose/Slides/Foss/presentation.h>
using namespace Aspose::Slides::Foss;

int main() {
    Presentation pres;
    auto& slide = pres.slides()[0];

    // Add a shape with text
    auto& shape = slide.shapes().add_auto_shape(
        ShapeType::RECTANGLE, 50, 50, 300, 100, false);
    shape.add_text_frame("Hello from Aspose.Slides FOSS!");

    // Apply a solid fill
    shape.fill_format().set_fill_type(FillType::SOLID);
    shape.fill_format().solid_fill_color().set_color(Color::blue);

    // Save
    pres.save("hello.pptx", SaveFormat::PPTX);
    return 0;
}

פורמט תומך

The SaveFormat enum מגדיר את כל מטרות הייצוא.הפורמטים הבאים מאושרים בקוד המקור:

פורמטהרחבהקראוכתוב
PPTX.pptxכן
PPT.PTTמתוכננת
PPSX.ppsxמתוכננת
PPTM.pptmמתוכננת
PPSM.ppsmמתוכננת
POTX.פוקסמתוכננת
POTM.פוטומתוכננת
POT.פוטמתוכננת
PPS.ppsמתוכננת
ODP.ODPמתוכננת
OTP.OTPמתוכננת
FODP.פדפמתוכננת
PDF.pdfמתוכננת
XPS.xpsמתוכננת
HTML.HTMLמתוכננת
HTML5.htmlמתוכננת
TIFF.טיףמתוכננת
GIF.GIFמתוכננת
SWF.סוורטמתוכננת
MD.דקמתוכננת
XML.xmlמתוכננת

הערה : כיום, רק PPTX ייצוא מיושם. ערכים אחרים פורמט קיימים ב SaveFormat תאימות קדימה אבל עדיין לא פונקציונלית. save() שיטה תמיד מייצרת PPTX היציאה, ללא קשר לפמטר הצורה.


קוד פתוח & רישיון

Aspose.Slides FOSS for C++ is released under the MIT license. You can use it freely in personal projects, commercial applications, and redistributed libraries. There are no API keys, watermarks, or usage limits. The full source code is available on GitHub at https://github.com/aspose-slides-foss/Aspose.Slides - FOSS-for-Cpp.


להתחיל

מוכן לשלב את Aspose.Slides FOSS בפרויקט C++ שלך?הנה המשאבים העיקריים:

משאבים קשורים