Vytvářejte prezentace PowerPoint C#

Prezentace MS PowerPoint umožňují vytvářet prezentace obsahující text, obrázky, grafy, animace a další prvky. Různé další možnosti formátování vám umožní učinit vaše prezentace atraktivnějšími. V tomto příspěvku se dozvíte, jak vytvořit PowerPoint PPT PPTX v C#. Naučíte se, jak vkládat text, tabulky, obrázky a grafy v PowerPoint PPT programově v C#.

C# API pro vytvoření PowerPoint PPT – ke stažení zdarma

Aspose.Slides for .NET je rozhraní API pro manipulaci s prezentacemi, které umožňuje vytvářet a manipulovat s dokumenty PowerPoint z aplikací .NET. API poskytuje téměř všechny možné funkce potřebné k implementaci základních i pokročilých funkcí automatizace PowerPointu. Rozhraní API si můžete buď stáhnout, nebo jej nainstalovat pomocí NuGet.

Install-Package Aspose.Slides.NET

Vytvořte PowerPoint PPT v C#

Začněme vytvořením prázdné prezentace PowerPoint PPT/PPTX pomocí Aspose.Slides for .NET. Níže jsou uvedeny kroky, jak tak učinit.

Následující ukázka kódu ukazuje, jak vytvořit prezentaci PowerPoint v C#.

// Vytvořte instanci objektu Presentation, který představuje soubor prezentace
using (Presentation presentation = new Presentation())
{
    // Získejte první snímek
    ISlide slide = presentation.Slides[0];

    // Přidat obsah na snímek...
    
    // Uložit prezentaci
    presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}

Otevřít existující PowerPoint prezentaci v C#

Chcete-li otevřít existující prezentaci PowerPoint, nemusíte vynakládat další úsilí. Jednoduše zadejte cestu k souboru PPTX konstruktoru třídy Presentation a máte hotovo. Následující ukázka kódu ukazuje, jak otevřít existující prezentaci PPTX.

// Otevření souboru prezentace předáním cesty k souboru konstruktoru třídy Presentation
Presentation pres = new Presentation("OpenPresentation.pptx");

// Tisk celkového počtu snímků v prezentaci
System.Console.WriteLine(pres.Slides.Count.ToString());

Přidat snímek do PPT v C#

Jakmile prezentaci vytvoříte, můžete do ní začít přidávat snímky. Následují kroky pro přidání snímku do prezentace pomocí Aspose.Slides for .NET.

Následující ukázka kódu ukazuje, jak přidat snímek do prezentace PowerPoint pomocí C#.

// Instantiate Prezentační třída, která představuje soubor prezentace
using (Presentation pres = new Presentation())
{
    // Vytvořit instanci třídy SlideCollection
    ISlideCollection slds = pres.Slides;

   for (int i = 0; i < pres.LayoutSlides.Count; i++)
    {
        // Přidejte prázdný snímek do kolekce Snímky
        slds.AddEmptySlide(pres.LayoutSlides[i]);

    }

    // Uložte soubor PPTX na disk
    pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);

}

Vložit text do snímku PPT pomocí C#

Nyní můžeme přidat obsah do snímků v prezentaci PowerPoint. Nejprve přidejte na snímek část textu pomocí následujících kroků.

  • Vytvořte novou prezentaci pomocí třídy Presentation.
  • Získejte odkaz na snímek v prezentaci.
  • Přidejte IAutoShape s ShapeType jako obdélník na zadané pozici snímku.
  • Získejte odkaz na nově přidaný objekt IAutoShape.
  • Přidejte TextFrame do automatického tvaru obsahujícího výchozí text.
  • Uložte prezentaci jako soubor PPTX.

Následující ukázka kódu ukazuje, jak přidat text na snímek v prezentaci pomocí C#.

// Instantiate PresentationEx// Instantiate PresentationEx
using (Presentation pres = new Presentation())
{
    // Získejte první snímek
    ISlide sld = pres.Slides[0];

    // Přidejte automatický tvar typu Obdélník
    IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);

    // Přidejte TextFrame do obdélníku
    ashp.AddTextFrame(" ");

    // Přístup k textovému rámečku
    ITextFrame txtFrame = ashp.TextFrame;

    // Vytvořte objekt Odstavec pro textový rámeček
    IParagraph para = txtFrame.Paragraphs[0];

    // Vytvořit objekt části pro odstavec
    IPortion portion = para.Portions[0];

    // Nastavit text
    portion.Text = "Aspose TextBox";

    // Uložte prezentaci na disk
    pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Vytvořte tabulku v PPT prezentaci pomocí C#

Aspose.Slides for .NET poskytuje snadný způsob, jak vytvořit tabulku v dokumentu prezentace. Následují kroky k tomu.

  • Vytvořte instanci třídy Presentation.
  • Získejte odkaz na snímek pomocí jeho indexu.
  • Definujte pole sloupců s šířkou a řádky s výškou.
  • Přidejte tabulku na snímek pomocí metody Slide.Shapes.AddTable() vystavené objektem IShapes a získejte odkaz na tabulku v instanci ITable.
  • Chcete-li použít formátování, projděte každou buňku.
  • Přidejte text do buněk pomocí vlastnosti Table.Rows[][].TextFrame.Text.
  • Uložte prezentaci jako soubor PPTX.

Následující ukázka kódu ukazuje, jak vytvořit tabulku na snímku prezentace PowerPoint.

// Třída okamžité prezentace, která představuje soubor PPTX
Presentation pres = new Presentation();

// Přístup k prvnímu snímku
ISlide sld = pres.Slides[0];

// Definujte sloupce s šířkami a řádky s výškou
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// Přidejte na snímek tvar tabulky
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// Nastavte formát ohraničení pro každou buňku
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;
	}
}

// Sloučit buňky 1 a 2 z řádku 1
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);

// Přidejte text do sloučené buňky
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";

// Uložte PPTX na disk
pres.Save("table.pptx", SaveFormat.Pptx);

Vytvořte graf v PowerPoint PPT pomocí C#

Níže jsou uvedeny kroky pro přidání grafu do prezentace PowerPoint pomocí C#.

  • Vytvořte instanci třídy Presentation.
  • Získejte odkaz na snímek podle indexu.
  • Přidejte graf s požadovaným typem pomocí metody ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single).
  • Přidejte název grafu.
  • Přístup k listu dat grafu.
  • Vymažte všechny výchozí série a kategorie.
  • Přidejte nové série a kategorie.
  • Přidejte nová data grafu pro řadu grafů.
  • Nastavte barvu výplně pro řadu grafů.
  • Přidejte popisky řad grafů.
  • Uložte prezentaci jako soubor PPTX.

Následující ukázka kódu ukazuje, jak přidat graf do prezentace pomocí C#.

// Třída okamžité prezentace, která představuje soubor PPTX
Presentation pres = new Presentation();

// Přístup k prvnímu snímku
ISlide sld = pres.Slides[0];

// Přidat graf s výchozími daty
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Nastavení názvu grafu
// Chart.ChartTitle.TextFrameForOverriding.Text = "Ukázkový název";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Nastavte první sérii na Zobrazit hodnoty
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Nastavení indexu datového listu grafu
int defaultWorksheetIndex = 0;

// Získání listu dat grafu
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Smazat výchozí vygenerované série a kategorie
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Přidávání nové série
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);

// Přidávání nových kategorií
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"));

// Vezměte první sérii grafů
IChartSeries series = chart.ChartData.Series[0];

// Nyní se vyplňují data série

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));

// Nastavení barvy výplně pro sérii
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;


// Vezměte druhou řadu grafů
series = chart.ChartData.Series[1];

// Nyní se vyplňují data série
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));

// Nastavení barvy výplně pro sérii
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;

// První štítek bude zobrazovat název kategorie
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

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

// Zobrazit hodnotu pro třetí štítek
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
            
// Uložit prezentaci s grafem
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);

Další informace o prezentačních grafech zde.

Přidejte obrázek do PowerPointové prezentace

Následují kroky pro přidání obrázků na snímek prezentace.

Následující ukázka kódu ukazuje, jak přidat obrázek do prezentace v C#.

// Vytvořte prezentaci
using (var p = new Presentation())
{
	// Přečtěte si obrázek
	var svgContent = File.ReadAllText("image.svg");
	
	// Přidejte obrázek do sbírky obrázků
	var emfImage = p.Images.AddFromSvg(svgContent);
	
	// Přidat obrázek na snímek
	p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
	
	// Uložit prezentaci
	p.Save("presentation.pptx", SaveFormat.Pptx);        
}

C# .NET PowerPoint API – Získejte bezplatnou licenci

Aspose.Slides for .NET můžete používat bez omezení hodnocení získáním bezplatné dočasné licence.

Závěr

V tomto článku jste se naučili, jak vytvořit PowerPoint PPT prezentace od začátku pomocí C#. Kromě toho jste viděli, jak přidat snímky, text, tabulky, obrázky a grafy do nových nebo stávajících prezentací PPTX. Více o API se můžete dozvědět pomocí dokumentace.

Viz také

Tip: Kromě vytváření snímků nebo prezentací nabízí Aspose.Slides mnoho funkcí, které vám umožňují pracovat s prezentacemi. Aspose například pomocí vlastních API vyvinul bezplatný online prohlížeč prezentací Microsoft PowerPoint.