Kā pievienot formas PowerPoint .NET vidē

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.Foss

Pā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ā.


Skatīt arī

 Latviešu