.NET में PowerPoint में आकृतियों को कैसे जोड़ें
Aspose.Slides FOSS for .NET प्रस्तुति स्लाइड्स में AutoShapes, Tables, Connectors, और PictureFrames जोड़ने का समर्थन करता है। सभी shape प्रकार slide.Shapes संग्रह के माध्यम से जोड़े जाते हैं।
चरण-दर-चरण मार्गदर्शिका
चरण 1: पैकेज स्थापित करें
dotnet add package Aspose.Slides.Fossस्थापना की पुष्टि करें:
using Aspose.Slides.Foss;
Console.WriteLine("Ready");चरण 2: प्रस्तुति बनाएं
हमेशा Presentation को using कथन के साथ उपयोग करें।
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
// ... add shapes ...
prs.Save("output.pptx", SaveFormat.Pptx);चरण 3: एक AutoShape जोड़ें
slide.Shapes.AddAutoShape(shapeType, x, y, width, height) दिए गए स्थिति और आकार (सभी पॉइंट्स में) पर एक आकार रखता है। आकार चुनने के लिए ShapeType स्थिरांक का उपयोग करें।
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
// Rectangle
var rect = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 100);
rect.AddTextFrame("Rectangle shape");
// Ellipse
var ellipse = slide.Shapes.AddAutoShape(ShapeType.Ellipse, 400, 50, 200, 100);
ellipse.AddTextFrame("Ellipse shape");
prs.Save("autoshapes.pptx", SaveFormat.Pptx);चरण 4: तालिका जोड़ें
slide.Shapes.AddTable(x, y, columnWidths, rowHeights) निर्दिष्ट स्थिति पर एक तालिका बनाता है। कॉलम चौड़ाइयाँ और पंक्ति ऊँचाइयाँ बिंदु मानों के एरे हैं।
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var colWidths = new double[] { 150.0, 150.0, 150.0 };
var rowHeights = new double[] { 40.0, 40.0, 40.0 };
var table = slide.Shapes.AddTable(50, 200, colWidths, rowHeights);
// Set header row text
string[] headers = { "Product", "Units", "Revenue" };
for (int col = 0; col < headers.Length; col++)
table.Rows[0][col].TextFrame.Text = headers[col];
// Set data rows
string[][] rows = {
new[] { "Widget A", "120", "$2,400" },
new[] { "Widget B", "85", "$1,700" },
};
for (int rowIdx = 0; rowIdx < rows.Length; rowIdx++)
for (int col = 0; col < rows[rowIdx].Length; col++)
table.Rows[rowIdx + 1][col].TextFrame.Text = rows[rowIdx][col];
prs.Save("table.pptx", SaveFormat.Pptx);चरण 5: कनेक्टर जोड़ें
कनेक्टर दो आकारों को दृश्य रूप से जोड़ते हैं। पहले आकार बनाएं, फिर एक कनेक्टर जोड़ें और उसके प्रारंभ और अंत कनेक्शन बिंदु सेट करें।
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var box1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 100, 150, 60);
box1.AddTextFrame("Start");
var box2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 350, 100, 150, 60);
box2.AddTextFrame("End");
var conn = slide.Shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);
conn.StartShapeConnectedTo = box1;
conn.StartShapeConnectionSiteIndex = 3; // right side of box1
conn.EndShapeConnectedTo = box2;
conn.EndShapeConnectionSiteIndex = 1; // left side of box2
prs.Save("connector.pptx", SaveFormat.Pptx);एक आयत के लिए कनेक्शन साइट सूचकांक 0‑3 तक क्रमांकित होते हैं: शीर्ष=0, बायाँ=1, नीचे=2, दायाँ=3।
चरण 6: एक चित्र फ्रेम जोड़ें
एक छवि एम्बेड करें और उसे स्लाइड में PictureFrame के रूप में जोड़ें। पहले छवि बाइट्स पढ़ें, उन्हें प्रस्तुति की इमेज कलेक्शन में जोड़ें, फिर फ्रेम बनाएं।
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
byte[] imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
var slide = prs.Slides[0];
slide.Shapes.AddPictureFrame(
ShapeType.Rectangle, // bounding shape type
50, 50, // x, y in points
200, 150, // width, height in points
image
);
prs.Save("with-image.pptx", SaveFormat.Pptx);सामान्य समस्याएँ और समाधान
आकार दृश्यमान स्लाइड क्षेत्र के बाहर दिखाई देता है
स्लाइड्स डिफ़ॉल्ट रूप से 720 × 540 पॉइंट्स की होती हैं। x या y के मान यदि इन सीमाओं से बाहर हों तो आकार स्लाइड के बाहर चला जाता है। x < 720 और y < 540 को रखें, और x + width <= 720 और y + height <= 540 को सुनिश्चित करें।
NullReferenceException जब एक्सेस कर रहे हैं TextFrame
AddAutoShape() सीधे shape ऑब्जेक्ट को लौटाता है। यदि आप null देखते हैं, तो जांचें कि आप रिटर्न वैल्यू को त्याग नहीं रहे हैं।
टेबल सेल टेक्स्ट असाइनमेंट के बाद खाली है
सही प्रॉपर्टी .TextFrame.Text है (सेल पर सीधे .Text नहीं)। सेल्स तक पहुँचें table.Rows[rowIndex][colIndex].TextFrame.Text = "value" के रूप में।
अक्सर पूछे जाने वाले प्रश्न
मैं एक स्लाइड में कितनी आकृतियाँ जोड़ सकता हूँ?
कोई लाइब्रेरी‑निर्धारित सीमा नहीं है। व्यावहारिक सीमाएँ फ़ाइल आकार और आपके लक्ष्य PPTX व्यूअर की रेंडरिंग क्षमता पर निर्भर करती हैं।
क्या मैं इसे जोड़ने के बाद किसी आकार की स्थिति बदल सकता हूँ?
हाँ। AddAutoShape() द्वारा लौटाए गए shape ऑब्जेक्ट में X, Y, Width, और Height प्रॉपर्टीज़ हैं जिन्हें आप सेट कर सकते हैं:
shape.X = 100;
shape.Y = 200;
shape.Width = 400;
shape.Height = 80;क्या मैं आकार की रूपरेखा (बॉर्डर) का रंग सेट कर सकता हूँ?
हाँ, shape.LineFormat के माध्यम से:
using Aspose.Slides.Foss.Drawing;
shape.LineFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 200, 0, 0);क्या चार्ट समर्थित हैं?
नहीं। चार्ट, SmartArt, और OLE ऑब्जेक्ट्स इस संस्करण में लागू नहीं किए गए हैं।