כיצד להוסיף צורות ל‑PowerPoint ב‑.NET
Aspose.Slides FOSS for .NET תומך בהוספת AutoShapes, Tables, Connectors ו-PictureFrames לשקופיות מצגת. כל סוגי הצורות מתווספים דרך האוסף 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() מחזיר את אובייקט הצורה ישירות. אם אתה רואה null, בדוק שאינך מזניב את ערך ההחזרה.
טקסט תא בטבלה ריק לאחר ההקצאה
המאפיין הנכון הוא .TextFrame.Text (לא .Text ישירות על התא). גש לתאים כtable.Rows[rowIndex][colIndex].TextFrame.Text = "value".
שאלות נפוצות
כמה צורות ניתן להוסיף לשקופית?
אין מגבלה שמוטלת על ידי הספרייה. המגבלות המעשיות תלויות בגודל הקובץ וביכולת הרינדור של מציג ה‑PPTX היעד שלך.
האם ניתן לשנות את מיקום הצורה לאחר שהוספתי אותה?
כן. העצם shape המוחזר על ידי AddAutoShape() כולל את המאפיינים 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 אינם מיושמים בגרסה זו.