Kā pievienot formas PowerPoint programmā, izmantojot .NET

Kā pievienot formas PowerPoint programmā, izmantojot .NET

Aspose.Slides FOSS for .NET atbalsta AutoShapes, Tables, Connectors un PictureFrames pievienošanu prezentācijas slaidiem. Visi formu tipi 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 konstantes, 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);

Solis 4: 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 saista divas figūras. Vispirms izveidojiet figūras, 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šējā=0, kreisajā=1, apakšējā=2, labajā=3.


6. solis: Pievienot attēla rāmi

Iegult attēlu un pievienot 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žas 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 pārliecinieties, ka x + width <= 720 un y + height <= 540.

NullReferenceException piekļūstot TextFrame

AddAutoShape() atgriež formu objektu tieši. Ja redzat null, pārbaudiet, vai neizmetat 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 šūnā). Piekļūstiet šūnām kā table.Rows[rowIndex][colIndex].TextFrame.Text = "value".


Biežāk uzdotie jautājumi

Cik daudz formu varu 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 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