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

Aspose.Slides FOSS for C++

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

पॉवरपॉइंट प्रस्तुति के लिए ओपन-सोर्स सी++ लाइब्रेरी

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

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

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

प्रस्तुति और स्लाइड एपीआई

  • 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 का उपयोग किया जा सकता है

  • रिपोर्ट जनरेशन: बिना Office के डेटा स्रोतों से ब्रांड स्लाइड डेक बनाएं।
  • टेम्पलेट स्वचालन: सीआई/सीडी पाइपलाइनों में गतिशील सामग्री के साथ पीपीटीएक्स टेम्प्लेट भरें.
  • सामग्री का स्थानांतरण: मौजूदा प्रस्तुति पढ़ना और स्लाइड को पुनर्गठित करना या फिर से स्टाइल करना।
  • ** एम्बेडेड सिस्टम:** प्रदर्शन-महत्वपूर्ण या संसाधन-प्रतिबंधित वातावरण में PPTX फ़ाइलों को संसाधित करता है.
  • ** बैच प्रसंस्करण:** बड़े स्लाइड डेक पुस्तकालयों में समान स्वरूपण परिवर्तन लागू करें.

पाठ स्वरूपण और दृश्य प्रभाव

  • अक्षर-स्तर स्वरूपण: Portion वस्तुओं पर bold, italic, font size और color को PortionFormat के माध्यम से लागू करें.
  • ** ठोस और ग्रेडिएंट भरता हैः** FillFormat तथा FillType का उपयोग करके एक ठोस रंग या बहु-स्टॉप रैखिक ढाल में आकार भरने सेट करें।
  • ** छाया और चमक प्रभाव:** EffectFormat के माध्यम से किसी भी आकार पर बाहरी छाया, चमक, धुंधलापन और प्रतिबिंब लागू करें।
  • अनुच्छेद संरेखण: ParagraphFormat और set_alignment() का उपयोग करके बाएं, केंद्र, दाएं सेट करें या प्रति अनुच्छेद के लिए संरेखन को सही ठहराएँ।
  • राउंड-ट्रिप सेफ: अनजान XML भागों को पुनः सहेजने पर शाब्दिक रूप से संरक्षित किया जाता है.

डेवलपर अनुभव

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

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

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

RAII यह सुनिश्चित करता है कि Presentation डिस्ट्रिक्टर ऑब्जेक्ट के दायरे से बाहर निकल जाने पर सभी संसाधनों को स्वचालित रूप से जारी कर देता है. add_auto_shape() एक enum लेता है, फिर 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() ```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() ```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 क्या है?

यह एक मुफ्त, एमआईटी-लाइसेंस प्राप्त सी++ लाइब्रेरी है जो माइक्रोसॉफ्ट ऑफिस की आवश्यकता के बिना पॉवरपॉइंट .pptx प्रस्तुतियों को बनाने, पढ़ने और संपादित करने के लिए उपलब्ध है।

कौन-से फ़ाइल स्वरूप समर्थित हैं?

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

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

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

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

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

क्या मैं छाया और चमक जैसे दृश्य प्रभावों को लागू कर सकता हूँ?

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

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

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

क्या PPTX को घुमाकर अज्ञात सामग्री नष्ट कर देंगे?

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

मुझे स्रोत कोड कहाँ मिल सकता है?

पुस्तकालय MIT-अनुज्ञा प्राप्त है और GitHub पर होस्ट किया गया है. बग रिपोर्ट्स और पिल अनुरोधों का स्वागत करते हैं।

  

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

 हिन्दी