परिचय

Aspose.Slides FOSS for .NET C# में पूरी तरह से PowerPoint प्रस्तुतियों को प्रबंधित करने के लिए क्लासों का एक व्यापक सेट प्रदान करता है। यह लाइब्रेरी आपको नई .pptx फ़ाइलें शून्य से बनाने, मौजूदा फ़ाइलें लोड करने, स्लाइड्स और शैप्स को संशोधित करने, और परिणाम को डिस्क पर वापस सहेजने की अनुमति देती है – सभी बिना Microsoft Office या किसी बाहरी निर्भरता को स्थापित किए।

Aspose.Slides.Foss NuGet पैकेज .NET 9.0 को लक्षित करता है और Windows, macOS, Linux, और Docker कंटेनरों पर समान रूप से चलता है। यह MIT लाइसेंस के तहत जारी किया गया है, इसलिए आप इसे व्यावसायिक और ओपन‑सोर्स प्रोजेक्ट्स में बिना किसी प्रतिबंध के उपयोग कर सकते हैं।

यह पोस्ट मुख्य प्रस्तुति प्रबंधन क्षमताओं को समझाती है: स्लाइड्स के साथ काम करना, आकार पदानुक्रम बनाना, पाठ का आयोजन करना, तालिकाओं का प्रबंधन करना, और PPTX में सहेजना।


क्या शामिल है

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

Presentation क्लास हर ऑपरेशन के लिए प्रवेश बिंदु है। आप एक खाली प्रस्तुति बना सकते हैं, फ़ाइल पथ से एक लोड कर सकते हैं, या स्ट्रीम से पढ़ सकते हैं। क्लास IDisposable को लागू करती है, इसलिए इसे एक using स्टेटमेंट में लपेटने से संसाधनों को सही ढंग से रिलीज़ किया जाता है।

// Create a brand-new, empty presentation
using var pres = new Presentation();

// Load an existing file
using var existing = new Presentation("report.pptx");

Presentation ऑब्जेक्ट पूर्ण स्लाइड पदानुक्रम को Slides, Masters, LayoutSlides, Sections, CommentAuthors, Images, और NotesSize जैसी प्रॉपर्टीज़ के माध्यम से उजागर करता है।

Slides के साथ काम करना

SlideCollection जो Presentation.Slides द्वारा लौटाया जाता है, स्लाइड जोड़ने, क्लोन करने, सम्मिलित करने, पुनः क्रमित करने और हटाने का समर्थन करता है। आप समान प्रस्तुति में या विभिन्न प्रस्तुतियों में लेआउट को संरक्षित या पुनः मैप करते हुए स्लाइड को क्लोन कर सकते हैं।

using var pres = new Presentation();

// The default presentation contains one blank slide
var firstSlide = pres.Slides[0];

// Clone the first slide and append it
pres.Slides.AddClone(firstSlide);

// Insert a clone at a specific position
pres.Slides.InsertClone(1, firstSlide);

// Remove a slide by index
pres.Slides.RemoveAt(2);

// Total slide count
int count = pres.Slides.Count;

प्रत्येक Slide SlideNumber, Hidden, LayoutSlide, NotesSlideManager, और Name को उजागर करता है। आप संग्रह को foreach के साथ दोहरा सकते हैं या इसे ToArray() के साथ एक एरे में बदल सकते हैं।

आकार और ऑटोशेप्स

हर स्लाइड में एक ShapeCollection होता है जिसे Slide.Shapes के माध्यम से एक्सेस किया जा सकता है। संग्रह सबसे सामान्य आकार प्रकारों के लिए फ़ैक्टरी मेथड्स प्रदान करता है।

using var pres = new Presentation();
var slide = pres.Slides[0];

// Add a rectangle AutoShape
var rect = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 50, 300, 150);

// Add a connector
var connector = slide.Shapes.AddConnector(
    ShapeType.BentConnector3, 100, 200, 200, 50);

// Reorder a shape to bring it forward
slide.Shapes.Reorder(0, rect);

// Remove all shapes
slide.Shapes.Clear();

AddAutoShape और InsertAutoShape मेथड्स एक ShapeType enum मान के साथ साथ पोजीशन और साइज कोऑर्डिनेट्स को स्वीकार करते हैं। AddConnector, InsertConnector, AddPictureFrame, और InsertPictureFrame समान पैटर्न का अनुसरण करते हैं।

पाठ: पैराग्राफ़ और भाग

प्रेजेंटेशन में टेक्स्ट एक TextFrame के भीतर रहता है, जिसमें एक ParagraphCollection होता है। प्रत्येक Paragraph में PortionCollection Portion ऑब्जेक्ट्स होते हैं जो व्यक्तिगत टेक्स्ट रन को स्वतंत्र फ़ॉर्मेटिंग के साथ दर्शाते हैं।

using var pres = new Presentation();
var slide = pres.Slides[0];

var shape = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 50, 400, 200);

// Access the shape's text frame
var tf = shape.TextFrame;

// Read or set the full text
tf.Text = "Hello, presentation world!";

// Work with individual paragraphs and portions
var para = new Paragraph();
var portion = new Portion("Formatted run");
para.Portions.Add(portion);
tf.Paragraphs.Add(para);

प्रत्येक Portion में फ़ॉन्ट, size, bold/italic, color, underline और अन्य character-level attributes को नियंत्रित करने के लिए एक PortionFormat प्रॉपर्टी होती है। ParagraphFormat संरेखण, bullet style, spacing और indentation को नियंत्रित करता है।

टेबल्स

टेबल्स को ShapeCollection.AddTable के माध्यम से जोड़ा जाता है, जो कॉलम चौड़ाइयों और पंक्ति ऊँचाइयों को एरे के रूप में स्वीकार करता है। लौटाया गया Table ऑब्जेक्ट Rows, Columns और व्यक्तिगत Cell ऑब्जेक्ट्स तक पहुँच प्रदान करता है।

using var pres = new Presentation();
var slide = pres.Slides[0];

double[] colWidths = { 150, 150, 150 };
double[] rowHeights = { 40, 40, 40 };

var table = slide.Shapes.AddTable(
    50, 50, colWidths, rowHeights);

// Set text in a cell
table.Rows[0][0].TextFrame.Text = "Header 1";
table.Rows[0][1].TextFrame.Text = "Header 2";
table.Rows[0][2].TextFrame.Text = "Header 3";

// Merge cells
table.MergeCells(table.Rows[1][0], table.Rows[1][2], false);

// Style presets
table.StylePreset = TableStylePreset.MediumStyle2Accent1;

प्रेजेंटेशन सहेजना

Presentation.Save मेथड दस्तावेज़ को फ़ाइल या स्ट्रीम में लिखता है। SaveFormat एन्‍युम आउटपुट फ़ॉर्मेट को निर्दिष्ट करता है। PPTX प्राथमिक समर्थित आउटपुट फ़ॉर्मेट है।

using var pres = new Presentation();
// ... build slides ...

// Save to a file
pres.Save("output.pptx", SaveFormat.Pptx);

// Save to a stream
using var ms = new MemoryStream();
pres.Save(ms, SaveFormat.Pptx);

// Save specific slides by index
pres.Save("subset.pptx", new[] { 1, 3 }, SaveFormat.Pptx);

आप आउटपुट पर अतिरिक्त नियंत्रण के लिए एक SaveOptions ऑब्जेक्ट भी पास कर सकते हैं।


त्वरित प्रारंभ

.NET CLI के माध्यम से पैकेज स्थापित करें:

dotnet add package aspose.slides.foss

फिर एक न्यूनतम प्रस्तुति बनाएं और सहेजें:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

// 1. Create a new presentation
using var pres = new Presentation();

// 2. Get the default slide
var slide = pres.Slides[0];

// 3. Add a title shape
var title = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 30, 600, 60);
title.TextFrame.Text = "Quarterly Report";

// 4. Add a content shape
var body = slide.Shapes.AddAutoShape(
    ShapeType.Rectangle, 50, 120, 600, 300);
var para = new Paragraph();
para.Portions.Add(new Portion("Revenue grew 12% year-over-year."));
body.TextFrame.Paragraphs.Add(para);

// 5. Save as PPTX
pres.Save("quarterly-report.pptx", SaveFormat.Pptx);

समर्थित फ़ॉर्मेट

फ़ॉर्मेटएक्सटेंशनपढ़ेंलिखें
PPTX.pptxहाँहाँ
PPSX.ppsxनहींहाँ
PPTM.pptmनहींहाँ
POTX.potxनहींहाँ
ODP.odpनहींहाँ
FODP.fodpनहींहाँ

Note: लाइब्रेरी PPTX को मूल रूप से पढ़ती और लिखती है। अन्य फ़ॉर्मेट जो SaveFormat enum में सूचीबद्ध हैं, API स्तर पर घोषित किए गए हैं; वास्तविक निर्यात फ़िडेलिटी में अंतर हो सकता है। लेगेसी .ppt बाइनरी फ़ॉर्मेट समर्थित नहीं है।


ओपन सोर्स और लाइसेंसिंग

Aspose.Slides FOSS for .NET MIT लाइसेंस के तहत जारी किया गया है। पूर्ण स्रोत कोड GitHub पर उपलब्ध है। आप इसे व्यावसायिक और ओपन‑सोर्स प्रोजेक्ट्स में उपयोग कर सकते हैं, कोड को संशोधित कर सकते हैं, और बिना किसी प्रतिबंध के पुनर्वितरित कर सकते हैं। कोई API कुंजी, लाइसेंस फ़ाइल, या पंजीकरण आवश्यक नहीं है।


शुरू करना

  • डेवलपर गाइड: docs.aspose.org/slides/net/ – ट्यूटोरियल और अवधारणात्मक दस्तावेज़ीकरण।
  • नॉलेज बेस: kb.aspose.org/slides/net/ – अक्सर पूछे जाने वाले प्रश्न और कैसे‑करें लेख।
  • API रेफ़रेंस: reference.aspose.org/slides/net/ – पूर्ण क्लास और मेथड रेफ़रेंस।