Skapa PowerPoint-presentationer C#

MS PowerPoint-presentationer låter dig skapa bildspel som innehåller text, bilder, diagram, animationer och andra element. Olika ytterligare formateringsalternativ låter dig göra dina presentationer mer tilltalande. I det här inlägget kommer du att lära dig hur du skapar PowerPoint PPT PPTX i C#. Du kommer att lära dig hur du infogar text, tabeller, bilder och diagram i PowerPoint PPT i programmatiskt i C#.

C# API för att skapa PowerPoint PPT - Gratis nedladdning

Aspose.Slides for .NET är ett API för presentationsmanipulering som låter dig skapa och manipulera PowerPoint-dokument från dina .NET-applikationer. API:et tillhandahåller nästan alla möjliga funktioner som krävs för att implementera grundläggande såväl som avancerade PowerPoint-automationsfunktioner. Du kan antingen ladda ner API:et eller installera det via NuGet.

Install-Package Aspose.Slides.NET

Skapa en PowerPoint PPT i C#

Låt oss börja med att skapa en tom PowerPoint PPT/PPTX-presentation med Aspose.Slides för .NET. Följande är stegen för att göra det.

Följande kodexempel visar hur man skapar en PowerPoint-presentation i C#.

// Instantiera ett presentationsobjekt som representerar en presentationsfil
using (Presentation presentation = new Presentation())
{
    // Få den första bilden
    ISlide slide = presentation.Slides[0];

    // Lägg till innehåll på bilden...
    
    // Spara presentationen
    presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}

Öppna en befintlig PowerPoint-presentation i C#

Du behöver inte anstränga dig extra för att öppna en befintlig PowerPoint-presentation. Ange bara sökvägen till PPTX-filen till konstruktören av klassen Presentation och du är klar. Följande kodexempel visar hur man öppnar en befintlig PPTX-presentation.

// Öppna presentationsfilen genom att skicka filsökvägen till konstruktören av klassen Presentation
Presentation pres = new Presentation("OpenPresentation.pptx");

// Skriver ut det totala antalet bilder i presentationen
System.Console.WriteLine(pres.Slides.Count.ToString());

Lägg till en bild till PPT i C#

När du har skapat presentationen kan du börja lägga till bilderna till den. Följande är stegen för att lägga till en bild i presentationen med Aspose.Slides för .NET.

Följande kodexempel visar hur man lägger till en bild i en PowerPoint-presentation med C#.

// Instantiate Presentation-klass som representerar presentationsfilen
using (Presentation pres = new Presentation())
{
    // Instantiera SlideCollection-klassen
    ISlideCollection slds = pres.Slides;

   for (int i = 0; i < pres.LayoutSlides.Count; i++)
    {
        // Lägg till en tom bild i presentationssamlingen
        slds.AddEmptySlide(pres.LayoutSlides[i]);

    }

    // Spara PPTX-filen på disken
    pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);

}

Infoga text i en PPT-bild med C#

Nu kan vi lägga till innehåll till bilderna i PowerPoint-presentationen. Låt oss först lägga till ett stycke text till bilden med hjälp av följande steg.

  • Skapa en ny presentation med klassen Presentation.
  • Skaffa referensen till bilden i presentationen.
  • Lägg till en IAutoShape med ShapeType som rektangel vid en angiven position på bilden.
  • Skaffa referensen till det nyligen tillagda IAutoShape-objektet.
  • Lägg till en TextFrame till AutoShape som innehåller standardtexten.
  • Spara presentationen som en PPTX-fil.

Följande kodexempel visar hur man lägger till text till bild i en presentation med C#.

// Instantiate PresentationEx// Instantiate PresentationEx
using (Presentation pres = new Presentation())
{
    // Få den första bilden
    ISlide sld = pres.Slides[0];

    // Lägg till en AutoShape av typen rektangel
    IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);

    // Lägg till TextFrame till rektangeln
    ashp.AddTextFrame(" ");

    // Åtkomst till textramen
    ITextFrame txtFrame = ashp.TextFrame;

    // Skapa objektet Stycke för textram
    IParagraph para = txtFrame.Paragraphs[0];

    // Skapa delobjekt för stycke
    IPortion portion = para.Portions[0];

    // Ställ in text
    portion.Text = "Aspose TextBox";

    // Spara presentationen på disk
    pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Skapa tabell i en PPT-presentation med C#

Aspose.Slides för .NET ger ett enkelt sätt att skapa en tabell i presentationsdokumentet. Följande är stegen för det.

  • Skapa en instans av klassen Presentation.
  • Få referensen till en bild genom att använda dess index.
  • Definiera arrayer av kolumner med bredd och rader med höjd.
  • Lägg till en tabell till bilden med metoden Slide.Shapes.AddTable() exponerad av objektet IShapes och få referensen till tabellen i instansen ITable.
  • Iterera genom varje cell för att tillämpa formateringen.
  • Lägg till text i cellerna med egenskapen Table.Rows[][].TextFrame.Text.
  • Spara presentationen som en PPTX-fil.

Följande kodexempel visar hur du skapar en tabell i en bild av PowerPoint-presentationer.

// Instantiate Presentation-klass som representerar PPTX-fil
Presentation pres = new Presentation();

// Få tillgång till första bilden
ISlide sld = pres.Slides[0];

// Definiera kolumner med bredder och rader med höjder
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// Lägg till bordsform för att glida
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// Ställ in ramformat för varje cell
for (int row = 0; row < tbl.Rows.Count; row++)
{
	for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
	{
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;

		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
	}
}

// Slå samman cell 1 och 2 på rad 1
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);

// Lägg till text i den sammanslagna cellen
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";

// Spara PPTX till disk
pres.Save("table.pptx", SaveFormat.Pptx);

Skapa diagram i en PowerPoint PPT med C#

Följande är stegen för att lägga till ett diagram i PowerPoint-presentation med C#.

  • Skapa en instans av klassen Presentation.
  • Få referensen till en bild för index.
  • Lägg till ett diagram med önskad typ med metoden ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single).
  • Lägg till en diagramrubrik.
  • Öppna kalkylbladet för diagramdata.
  • Rensa alla standardserier och kategorier.
  • Lägg till nya serier och kategorier.
  • Lägg till nya diagramdata för diagramserier.
  • Ställ in fyllningsfärg för diagramserier.
  • Lägg till diagramserieetiketter.
  • Spara presentationen som en PPTX-fil.

Följande kodexempel visar hur man lägger till diagram i en presentation med C#.

// Instantiate Presentation-klass som representerar PPTX-fil
Presentation pres = new Presentation();

// Få tillgång till första bilden
ISlide sld = pres.Slides[0];

// Lägg till diagram med standarddata
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Inställningsdiagram Titel
// Chart.ChartTitle.TextFrameForOverriding.Text = "Exempeltitel";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Ställ in första serien på Visa värden
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Ställa in index för diagramdatabladet
int defaultWorksheetIndex = 0;

// Hämta arbetsbladet för diagramdata
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Ta bort standardgenererade serier och kategorier
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Lägger till ny serie
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);

// Lägger till nya kategorier
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));

// Ta första diagramserien
IChartSeries series = chart.ChartData.Series[0];

// Fyller nu på seriedata

series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// Ställa in fyllnadsfärg för serier
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;


// Ta den andra diagramserien
series = chart.ChartData.Series[1];

// Fyller nu på seriedata
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));

// Ställa in fyllnadsfärg för serier
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;

// Den första etiketten kommer att visa Kategorinamn
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;

// Visa värde för tredje etikett
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
            
// Spara presentationen med diagram
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);

Läs mer om presentationstabellerna här.

Lägg till en bild i PowerPoint-presentation

Följande är stegen för att lägga till bilder i presentationsbilden.

Följande kodexempel visar hur man lägger till bild till en presentation i C#.

// Skapa presentation
using (var p = new Presentation())
{
	// Läs bild
	var svgContent = File.ReadAllText("image.svg");
	
	// Lägg till bild i bildsamlingen
	var emfImage = p.Images.AddFromSvg(svgContent);
	
	// Lägg till bild på bilden
	p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
	
	// Spara presentationen
	p.Save("presentation.pptx", SaveFormat.Pptx);        
}

C# .NET PowerPoint API - Skaffa en gratis licens

Du kan använda Aspose.Slides för .NET utan utvärderingsbegränsningar genom att skaffa en gratis tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du skapar PowerPoint PPT-presentationer från grunden med C#. Dessutom har du sett hur du lägger till bilder, text, tabeller, bilder och diagram i nya eller befintliga PPTX-presentationer. Du kan lära dig mer om API:t med hjälp av dokumentationen.

Se även

Tips: Förutom att skapa bilder eller presentationer har Aspose.Slides många funktioner som gör att du kan arbeta med presentationer. Till exempel, med hjälp av sina egna API:er, utvecklade Aspose en gratis onlinevisare för Microsoft PowerPoint-presentationer.