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

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

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

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

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

लाइब्रेरी Presentation, Slide, ShapeCollection, TextFrame, Paragraph, और Portion के चारों ओर निर्मित एक Presentation API प्रदान करती है, जो PowerPoint द्वारा उपयोग किए जाने वाले अवधारणात्मक मॉडल पर आधारित है। स्लाइड जोड़ें और हटाएँ, AutoShapes, Tables, और Connectors सम्मिलित करें, टेक्स्ट को कैरेक्टर स्तर पर बोल्ड, इटैलिक, फ़ॉन्ट आकार और रंग के साथ फॉर्मेट करें, सॉलिड या ग्रेडिएंट फ़िल लागू करें, और विज़ुअल इफ़ेक्ट्स (शैडो, ग्लो, ब्लर, रिफ्लेक्शन) जोड़ें।

RAII सेमांटिक्स विश्वसनीय संसाधन सफ़ाई सुनिश्चित करते हैं: Presentation डेस्ट्रक्टर सभी आंतरिक स्थिति को स्वचालित रूप से रिलीज़ करता है। लोड के दौरान मिलने वाले अज्ञात XML भागों को सहेजते समय वैरबेटिम रूप में संरक्षित रखा जाता है, इसलिए राउंड‑ट्रिपिंग कभी भी ऐसी सामग्री को नष्ट नहीं करती जिसे लाइब्रेरी अभी तक नहीं समझती। इस लाइब्रेरी को C++17‑अनुपालन कंपाइलर की आवश्यकता है।

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

  • Create and open PPTX: Presentation() या Presentation(path) के माध्यम से नई प्रस्तुतियाँ बनाएँ या मौजूदा .pptx फ़ाइलें खोलें।
  • Add and remove slides: add_clone(), remove(), और remove_at() के साथ प्रोग्रामेटिक रूप से SlideCollection को प्रबंधित करें।
  • AutoShapes: add_auto_shape() के माध्यम से आयत, दीर्घवृत्त, रेखाएँ और अन्य ShapeType ज्यामितियों को सम्मिलित करें।
  • Tables and Connectors: add_connector() के माध्यम से संरचित टेबल शैप्स और शैप्स के बीच कनेक्टर लाइनों को जोड़ें।
  • Speaker notes: NotesSlideManager के माध्यम से प्रति‑स्लाइड स्पीकर नोट्स को पढ़ें और लिखें।
  • थ्रेडेड टिप्पणियाँ: स्लाइड-स्तर की टिप्पणी थ्रेड्स तक पहुँचें get_slide_comments() के साथ।

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

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

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

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

डेवलपर अनुभव

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

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

एक प्रेजेंटेशन बनाएँ और एक Shape जोड़ें

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];

    // एक आयत 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;
}

टेक्स्ट को फ़ॉर्मेट करें और एक Fill इफ़ेक्ट लागू करें

टेक्स्ट फ़ॉर्मेटिंग Portion स्तर पर काम करती है — अक्षरों की श्रृंखला की सबसे छोटी इकाई। सहेजी गई फ़ाइल खोलें, पहले पैराग्राफ के पहले portion पर जाएँ, और फ़ॉन्ट गुण सीधे सेट करें। Shape fill स्वतंत्र है: fill type को solid सेट करें और एक रंग असाइन करें।

#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 पर ठोस बैकग्राउंड फ़िल
    shape.fill_format().set_fill_type(asf::FillType::SOLID);

    prs.save("formatted.pptx", asf::SaveFormat::PPTX);
    return 0;
}

Frequently Asked Questions

Aspose.Slides FOSS for C++ क्या है?

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

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

PPTX समर्थित रीड/राइट फ़ॉर्मेट है। इस संस्करण में PDF, HTML, SVG, या इमेजेज़ में एक्सपोर्ट उपलब्ध नहीं है।

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

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

मैं इसे कैसे इंस्टॉल करूँ?

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

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

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

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

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

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

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

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

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

  

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

 हिन्दी