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‑अनुपालन कंपाइलर की आवश्यकता है।
Presentation() या Presentation(path) के माध्यम से नई प्रस्तुतियाँ बनाएँ या मौजूदा .pptx फ़ाइलें खोलें।add_clone(), remove(), और remove_at() के साथ प्रोग्रामेटिक रूप से SlideCollection को प्रबंधित करें।add_auto_shape() के माध्यम से आयत, दीर्घवृत्त, रेखाएँ और अन्य ShapeType ज्यामितियों को सम्मिलित करें।add_connector() के माध्यम से संरचित टेबल शैप्स और शैप्स के बीच कनेक्टर लाइनों को जोड़ें।NotesSlideManager के माध्यम से प्रति‑स्लाइड स्पीकर नोट्स को पढ़ें और लिखें।get_slide_comments() के साथ।Portion ऑब्जेक्ट्स पर बोल्ड, इटैलिक, फ़ॉन्ट साइज और रंग लागू करें PortionFormat के माध्यम से।FillFormat और FillType का उपयोग करके आकार की भराव को सॉलिड रंग या मल्टी-स्टॉप लीनियर ग्रेडिएंट पर सेट करें।EffectFormat के माध्यम से किसी भी आकार पर बाहरी शैडो, ग्लो, ब्लर और रिफ्लेक्शन लागू करें।ParagraphFormat और set_alignment() का उपयोग करके प्रत्येक पैराग्राफ़ के लिए बाएँ, केंद्र, दाएँ या जस्टिफ़ाई अलाइनमेंट सेट करें।Aspose.Slides FOSS CMake FetchContent के माध्यम से इंटीग्रेट होता है, इसलिए कोई मैनुअल डाउनलोड या सिस्टम‑व्यापी इंस्टॉलेशन आवश्यक नहीं है। लाइब्रेरी आपके प्रोजेक्ट के साथ स्रोत से बनती है।
API PowerPoint के अपने ऑब्जेक्ट मॉडल (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion) को प्रतिबिंबित करता है, इसलिए जो भी PowerPoint ऑब्जेक्ट मॉडल से परिचित है वह लाइब्रेरी को तुरंत उपयोग कर सकता है। यह MIT‑लाइसेंस वाला, GitHub पर ओपन‑सोर्स है, और एक C++17‑अनुपालन कंपाइलर की आवश्यकता है।
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;
}
टेक्स्ट फ़ॉर्मेटिंग 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;
}
यह एक मुफ्त, MIT-लाइसेंस वाली C++ लाइब्रेरी है जो PowerPoint .pptx प्रस्तुतियों को बनाने, पढ़ने और संपादित करने के लिए है, बिना Microsoft Office की आवश्यकता के।
PPTX समर्थित रीड/राइट फ़ॉर्मेट है। इस संस्करण में PDF, HTML, SVG, या इमेजेज़ में एक्सपोर्ट उपलब्ध नहीं है।
नहीं। Aspose.Slides FOSS एक स्वतंत्र C++ लाइब्रेरी है जिसमें Microsoft Office, COM ऑटोमेशन, या किसी भी स्वामित्व वाले रनटाइम पर कोई निर्भरता नहीं है।
लाइब्रेरी को सीधे GitHub से एकीकृत करने के लिए CMake FetchContent का उपयोग करें। इस लाइब्रेरी को C++17‑अनुपालन कंपाइलर की आवश्यकता होती है।
हाँ। लाइब्रेरी EffectFormat API के माध्यम से किसी भी आकार वस्तु पर बाहरी छाया, चमक, धुंधलापन और प्रतिबिंब प्रभावों का समर्थन करती है।
हाँ। Presentation डेस्ट्रक्टर सभी आंतरिक स्थिति को स्वचालित रूप से रिलीज़ कर देता है, इसलिए स्पष्ट सफाई की आवश्यकता नहीं है।
नहीं। लोड के दौरान मिलने वाले अज्ञात XML भागों को सहेजते समय वैरबेटिम संरक्षित रखा जाता है, इसलिए लाइब्रेरी द्वारा अभी तक न समझे गए कंटेंट कभी नहीं खोते।
लाइब्रेरी MIT लाइसेंस के तहत है और GitHub पर होस्ट की गई है। बग रिपोर्ट और पुल रिक्वेस्ट का स्वागत है।