1. उत्पादों
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS - Aspose.Slides C++ के लिए FOSS

C++ से PowerPoint प्रस्तुतियों को बनाएं, पढ़ें और संपादित करें — मुफ्त और ओपन-सोर्स, Office निर्भरता की आवश्यकता नहीं।

PowerPoint प्रस्तुतियों के लिए ओपन-सोर्स C++ लाइब्रेरी

Aspose.Slides FOSS - Aspose.Slides C++ के लिए FOSS एक MIT-लाइसेंस वाली लाइब्रेरी है जो PowerPoint .pptx फ़ाइलों के साथ काम करने के लिए है। इसे CMake FetchContent के माध्यम से इंटीग्रेट करें और तुरंत प्रेजेंटेशन बनाना, पढ़ना और संपादित करना शुरू करें, बिना Microsoft Office या किसी भी प्रोपायटरी रनटाइम को इंस्टॉल किए।

लाइब्रेरी एक Presentation 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

प्रेजेंटेशन और स्लाइड API

  • PPTX बनाएं और खोलें: नए प्रस्तुतियों को बनाएं या मौजूदा .pptx फ़ाइलें Presentation() या Presentation(path) के माध्यम से खोलें।
  • स्लाइड जोड़ें और हटाएँ: प्रोग्रामेटिक रूप से SlideCollection को add_empty_slide(), remove(), और remove_at() के साथ प्रबंधित करें।
  • AutoShapes: आयत, दीर्घवृत्त, रेखाएँ, और अन्य ShapeType ज्यामितियों को add_auto_shape() के माध्यम से सम्मिलित करें।
  • टेबल्स और कनेक्टर्स: संरचित तालिका आकार और आकारों के बीच कनेक्टर लाइनों को add_connector() के माध्यम से जोड़ें।
  • स्पीकर नोट्स: प्रति‑स्लाइड स्पीकर नोट्स को NotesSlideManager के माध्यम से पढ़ें और लिखें।
  • थ्रेडेड टिप्पणियाँ: pres.comment_authors() को इटररेट करके टिप्पणी थ्रेड्स और उनके संबंधित टिप्पणियों तक पहुँचें।

जहाँ Aspose.Slides FOSS का उपयोग किया जा सकता है

  • Report generation: डेटा स्रोतों से ब्रांडेड स्लाइड डेक बनाएं, बिना Office के.
  • टेम्प्लेट स्वचालन: CI/CD पाइपलाइनों में गतिशील सामग्री के साथ PPTX टेम्प्लेट भरें।
  • Content migration: मौजूदा प्रस्तुतियों को पढ़ें और स्लाइड्स को पुनः संरचना या पुनः-शैलीबद्ध करें।
  • Embedded systems: प्रदर्शन-सम्बंधी या संसाधन-सीमित वातावरण में PPTX फ़ाइलों को प्रोसेस करें।
  • Batch processing: बड़े स्लाइड डेक लाइब्रेरीज़ में समान फ़ॉर्मेटिंग परिवर्तन लागू करें।

टेक्स्ट फॉर्मेटिंग और विज़ुअल इफ़ेक्ट्स

  • Character-level formatting: व्यक्तिगत Portion वस्तुओं पर बोल्ड, इटैलिक, फ़ॉन्ट आकार और रंग लागू करें PortionFormat के माध्यम से।
  • सॉलिड और ग्रेडिएंट फ़िल्स: शैप फ़िल को सॉलिड रंग या मल्टी-स्टॉप लीनियर ग्रेडिएंट में सेट करें, FillFormat और FillType का उपयोग करके।
  • छाया और चमक प्रभाव: किसी भी आकार पर बाहरी छाया, चमक, धुंधलापन, और प्रतिबिंब लागू करें EffectFormat के माध्यम से।
  • पैराग्राफ संरेखण: बाएँ, केंद्र, दाएँ, या जस्टिफ़ाइ संरेखण प्रत्येक पैराग्राफ के लिए सेट करें, ParagraphFormat और set_alignment() का उपयोग करके।
  • Round-trip safe: अज्ञात XML भागों को पुनः‑सहेजने पर शाब्दिक रूप से संरक्षित किया जाता है।

डेवलपर अनुभव

Aspose.Slides FOSS CMake FetchContent के माध्यम से एकीकृत होता है, इसलिए कोई मैनुअल डाउनलोड या सिस्टम‑व्यापी इंस्टॉलेशन आवश्यक नहीं है। लाइब्रेरी आपके प्रोजेक्ट के साथ स्रोत से बनती है।

API PowerPoint के अपने ऑब्जेक्ट मॉडल (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion) को प्रतिबिंबित करता है, इसलिए PowerPoint ऑब्जेक्ट मॉडल से परिचित कोई भी लाइब्रेरी का तुरंत उपयोग कर सकता है। यह MIT-licensed, open-source GitHub पर है, और एक C++20-compliant कंपाइलर की आवश्यकता होती है।

एक प्रस्तुति बनाएं और एक आकार जोड़ें

RAII सुनिश्चित करता है कि Presentation डेस्ट्रक्टर सभी संसाधनों को स्वचालित रूप से मुक्त कर दे जब ऑब्जेक्ट स्कोप से बाहर हो जाता है। add_auto_shape() एक 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;
}
 

अक्सर पूछे जाने वाले प्रश्न

C++ के लिए Aspose.Slides FOSS क्या है?

यह एक मुफ्त, MIT-लाइसेंस वाला C++ लाइब्रेरी है जो Microsoft Office की आवश्यकता के बिना PowerPoint .pptx प्रस्तुतियों को बनाने, पढ़ने और संपादित करने के लिए है।

कौन से फ़ाइल फ़ॉर्मेट समर्थित हैं?

.pptx समर्थित पढ़ने/लिखने का फ़ॉर्मेट है। इस संस्करण में PDF, HTML, SVG, या छवियों में निर्यात उपलब्ध नहीं है।

क्या इसके लिए Microsoft Office या PowerPoint आवश्यक है?

नहीं। Aspose.Slides FOSS एक स्वतंत्र C++ लाइब्रेरी है जिसमें Microsoft Office, COM ऑटोमेशन, या किसी भी स्वामित्व वाले रनटाइम पर कोई निर्भरता नहीं है।

मैं इसे कैसे स्थापित करूँ?

CMake FetchContent का उपयोग करके लाइब्रेरी को सीधे GitHub से एकीकृत करें। लाइब्रेरी को C++20‑अनुपालन कंपाइलर की आवश्यकता होती है।

क्या मैं शैडो और ग्लो जैसे विज़ुअल इफ़ेक्ट्स लागू कर सकता हूँ?

हाँ। लाइब्रेरी EffectFormat API के माध्यम से किसी भी आकार वस्तु पर बाहरी छाया, चमक, धुंधलापन और प्रतिबिंब प्रभावों का समर्थन करती है।

क्या लाइब्रेरी संसाधन प्रबंधन के लिए RAII का उपयोग करती है?

हाँ। Presentation डेस्ट्रक्टर सभी आंतरिक स्थिति को स्वचालित रूप से मुक्त कर देता है, इसलिए स्पष्ट सफाई की आवश्यकता नहीं है।

क्या PPTX को राउंड-ट्रिप करने से अज्ञात सामग्री नष्ट हो जाएगी?

नहीं। लोड के दौरान मिलने वाले अज्ञात XML भागों को सहेजते समय शब्दशः संरक्षित रखा जाता है, इसलिए लाइब्रेरी द्वारा अभी तक न समझे गए सामग्री कभी खोती नहीं है।

मैं स्रोत कोड कहाँ पा सकता हूँ?

लाइब्रेरी MIT-लाइसेंस वाली है और GitHub पर होस्ट की गई है। बग रिपोर्ट और पुल अनुरोधों का स्वागत है।

  

समर्थन और सीखने के संसाधन

 हिन्दी