Kā pievienot formas PowerPoint .NET vidē
Aspose.Slides FOSS for .NET atbalsta AutoShapes, Tables, Connectors un PictureFrames pievienošanu prezentācijas slaidiem. Visi formu veidi tiek pievienoti caur slide.Shapes kolekciju.
Rokasgrāmata soli pa solim
1. solis: instalēt pakotni
dotnet add package Aspose.Slides.FossPārbaudiet instalāciju:
using Aspose.Slides.Foss;
Console.WriteLine("Ready");2. solis: Izveidot prezentāciju
Vienmēr lietojiet Presentation ar using paziņojumu.
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. solis: Pievienot AutoShape
slide.Shapes.AddAutoShape(shapeType, x, y, width, height) novieto formu dotajā pozīcijā un izmērā (visi punktos). Izmantojiet ShapeType konstantus, lai izvēlētos formu.
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. solis: Pievienot tabulu
slide.Shapes.AddTable(x, y, columnWidths, rowHeights) izveido tabulu norādītā pozīcijā. Kolonnu platumi un rindu augstumi ir punktu vērtību masīvi.
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);Solis 5: Pievienot savienotāju
Savienotāji vizuāli savieno divas formas. Vispirms izveidojiet formas, pēc tam pievienojiet savienotāju un iestatiet tā sākuma un beigu savienojuma punktus.
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);Savienojuma vietas indeksi ir numurēti no 0 līdz 3 taisnstūrim: augšā=0, pa kreisi=1, apakšā=2, pa labi=3.
6. solis: Pievienot attēla rāmi
Iegult attēlu un pievienojiet to slaidam kā PictureFrame. Vispirms nolasiet attēla baitus, pievienojiet tos prezentācijas attēlu kolekcijai, pēc tam izveidojiet rāmi.
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);Bieži sastopamās problēmas un risinājumi
Forma parādās ārpus redzamās slaida zonas
Slaidi pēc noklusējuma ir 720 × 540 punkti. x vai y vērtības, kas pārsniedz šos robežus, novieto formu ārpus slaida. Saglabājiet x < 720 un y < 540, un nodrošiniet x + width <= 720 un y + height <= 540.
NullReferenceException piekļūstot TextFrame
AddAutoShape() atgriež formu objektu tieši. Ja redzat null, pārbaudiet, vai nemestat atgriezto vērtību.
Tabulas šūnas teksts ir tukšs pēc piešķiršanas
Pareizais īpašums ir .TextFrame.Text (nevis .Text tieši uz šūnas). Piekļūstiet šūnām kā table.Rows[rowIndex][colIndex].TextFrame.Text = "value".
Biežāk uzdotie jautājumi
Cik daudz formu var pievienot slaidam?
Nav bibliotēkas noteikta ierobežojuma. Praktiskie ierobežojumi ir atkarīgi no faila lieluma un jūsu mērķa PPTX skatītāja renderēšanas iespējas.
Vai es varu mainīt formas pozīciju pēc tās pievienošanas?
Jā. Forma objekts, ko atgriež AddAutoShape(), ir ar X, Y, Width un Height īpašībām, kuras varat iestatīt:
shape.X = 100;
shape.Y = 200;
shape.Width = 400;
shape.Height = 80;Vai es varu iestatīt formas kontūras (malas) krāsu?
Jā, caur shape.LineFormat:
using Aspose.Slides.Foss.Drawing;
shape.LineFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 200, 0, 0);Vai diagrammas tiek atbalstītas?
Nē. Diagrammas, SmartArt un OLE objekti nav ieviesti šajā izdevumā.