परिचय

Aspose.Slides FOSS for C++ is now available: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx फ़ाइलें मूल C++ में, बिना Microsoft Office या किसी भी स्वामित्व वाले रनटाइम पर निर्भरता के।.

यह लाइब्रेरी उन डेवलपर्स के लिए डिज़ाइन की गई है जिन्हें प्रोग्रामेटिक रूप से presentation फ़ाइलें जनरेट या मैनीपुलेट करनी होती हैं: डेटा से slide decks को ऑटोमेट करना, अपलोड किए गए PPTX फ़ाइलों से टेक्स्ट और मेटाडेटा निकालना, presentation-आधारित रिपोर्टिंग पाइपलाइन्स बनाना, या डेस्कटॉप और सर्वर एप्लिकेशन्स में presentation निर्माण को एम्बेड करना। क्योंकि aspose_slides_foss CMake के साथ बनाया गया है, यह Windows, macOS, और Linux पर संकलित और तैनात होता है।.

मुख्य विशेषताएँ

  • पूर्ण राउंड-ट्रिप PPTX समर्थन: कोई भी खोलें .pptx फ़ाइल, उसकी सामग्री को संशोधित करें, और इसे वापस सहेजें बिना उन अज्ञात XML भागों को खोए जो लाइब्रेरी अभी तक नहीं समझती।.
  • स्लाइड्स प्रबंधन: स्लाइड्स को जोड़ें, हटाएँ और इटरेट करें, उपयोग करके prs.slides(); प्रस्तुति एक खाली स्लाइड से शुरू होती है एक a बनाने के बाद Presentation.
  • AutoShapes, टेबल्स, और कनेक्टर्स: आकारों को via के माध्यम से सम्मिलित करें slide.shapes().add_auto_shape(), तालिका डेटा via slide.shapes().add_table(), और आकारों के बीच दृश्य कनेक्टर्स via 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 फ़ाइलें सुरक्षित रूप से राउंड‑ट्रिप करती हैं।.

संबंधित देखें