מבוא

Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx קבצים ב‑C++ מקורי, ללא תלות ב‑Microsoft Office או בכל סביבת ריצה קניינית.

הספרייה נועדה למפתחים שצריכים ליצור או לתפעל קבצי מצגות באופן תכנותי: אוטומציה של חבילות שקופיות מהנתונים, חילוץ טקסט ונתוני מטא מקבצי PPTX שהועלו, בניית צינורות דיווח מבוססי מצגות, או הטמעת יצירת מצגות באפליקציות שולחן עבודה ושרת. משום ש aspose_slides_foss הספרייה נבנית עם CMake, ולכן היא מקומפלת ומופצת ב‑Windows, macOS ו‑Linux.

Key Features

  • תמיכה מלאה ב‑PPTX משולב‑חזרה: פתח כל .pptx קובץ, שנה את תוכנו ושמור אותו חזרה מבלי לאבד חלקי XML בלתי ידועים שהספרייה עדיין אינה מבינה.
  • ניהול שקופיות: הוסף, הסר, ועבור על שקופיות באמצעות prs.slides(); המצגת מתחילה עם שקופית ריקה אחת לאחר בניית Presentation.
  • AutoShapes, טבלאות, ומחברים: הוסף צורות דרך slide.shapes().add_auto_shape(), נתוני טבלאות דרך slide.shapes().add_table(), ומחברים חזותיים בין צורות דרך slide.shapes().add_connector().
  • עיצוב טקסט עשיר: עצב טקסט ברמת תו עם PortionFormat: גודל גופן, מודגש, נטוי, קו תחתי, וצבע ARGB דרך FillType::SOLID ו ColorFormat.
  • סוגי מילוי: החל FillType::SOLID, Gradient, Pattern, או Picture מתמלא לכל צורה.
  • אפקטים חזותיים: צל חיצוני, זוהר, קצה רך, טשטוש, השתקפות, וצל פנימי באמצעות shape.effect_format().
  • 3D formatting: שיפוע, מצלמה, מערכת תאורה, חומר, ועומק חצייה באמצעות shape.three_d_format().
  • הערות מציג: צרף טקסט של הערות לכל שקף באמצעות notes_slide_manager().add_notes_slide().
  • תגובות משורשרות: הוסף תגובות עם מטא-נתוני המחבר ומיקום השקף.
  • תמונות מוטמעות: הטמע מנתיב קובץ, מאגר זיכרון, או זרם.
  • מאפייני מסמך: קרא וכתוב מאפייני ליבה, אפליקציה, ומותאמים אישית.

התחלה

הוסף את הספרייה באמצעות CMake. נדרש מהדר C++17.

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)
target_link_libraries(your_target PRIVATE aspose_slides_foss)

צור את המצגת הראשונה שלך עם צורה ושמור אותה:

#include <Aspose/Slides/Foss/presentation.h>

int main() {
    using namespace Aspose::Slides::Foss;

    Presentation prs;
    auto& slide = prs.slides()[0];
    auto& shape = slide.shapes().add_auto_shape(
        ShapeType::RECTANGLE, 50, 50, 400, 120
    );
    shape.text_frame()->set_text("Hello from Aspose.Slides FOSS!");
    prs.save("hello.pptx", SaveFormat::PPTX);
    return 0;
}

ה Presentation ההורס משחרר את כל המשאבים הפנימיים אוטומטית כאשר הוא יוצא מהטווח.

דוגמה לעיצוב טקסט

#include <Aspose/Slides/Foss/presentation.h>

using namespace Aspose::Slides::Foss;

Presentation prs;
auto& shape = prs.slides()[0].shapes().add_auto_shape(
    ShapeType::RECTANGLE, 50, 50, 500, 150
);
shape.text_frame()->set_text("Bold heading in corporate blue");
auto& fmt = shape.text_frame()->paragraphs()[0].portions()[0].portion_format();
fmt.set_font_height(28);
fmt.set_font_bold(NullableBool::TRUE);
fmt.fill_format().set_fill_type(FillType::SOLID);
fmt.fill_format().solid_fill_color().set_color(Color::from_argb(255, 0, 70, 127));
prs.save("formatted.pptx", SaveFormat::PPTX);

ההגבלות הנוכחיות

האזורים הבאים זורקים חריגות בגרסה זו:

  • תרשימים, SmartArt, ואובייקטי OLE
  • הנפשות ומעברי שקופיות
  • ייצוא ל‑PDF, HTML, SVG, או פורמטים של תמונות
  • קישורים, הגדרות פעולה, מאקרו VBA, וחתימות דיגיטליות

חלקי XML לא ידועים שנתקלו בהם במהלך הטעינה נשמרים במדויק בעת השמירה, כך שקבצי PPTX שנוצרו על ידי כלים אחרים עוברים סיבוב חזרה בבטחה.

ראה גם