Last active
September 11, 2021 16:47
-
-
Save aspose-com-gists/b1cad52e295795513abe7284bde7f7e7 to your computer and use it in GitHub Desktop.
Create PowerPoint Presentations in C#
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create presentation | |
using (var p = new Presentation()) | |
{ | |
// Read image | |
var svgContent = File.ReadAllText("image.svg"); | |
// Add image to image collection | |
var emfImage = p.Images.AddFromSvg(svgContent); | |
// Add image to slide | |
p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage); | |
// Save presentation | |
p.Save("presentation.pptx", SaveFormat.Pptx); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Instantiate Presentation class that represents the presentation file | |
using (Presentation pres = new Presentation()) | |
{ | |
// Instantiate SlideCollection class | |
ISlideCollection slds = pres.Slides; | |
for (int i = 0; i < pres.LayoutSlides.Count; i++) | |
{ | |
// Add an empty slide to the Slides collection | |
slds.AddEmptySlide(pres.LayoutSlides[i]); | |
} | |
// Save the PPTX file to the Disk | |
pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Instantiate PresentationEx// Instantiate PresentationEx | |
using (Presentation pres = new Presentation()) | |
{ | |
// Get the first slide | |
ISlide sld = pres.Slides[0]; | |
// Add an AutoShape of Rectangle type | |
IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); | |
// Add TextFrame to the Rectangle | |
ashp.AddTextFrame(" "); | |
// Accessing the text frame | |
ITextFrame txtFrame = ashp.TextFrame; | |
// Create the Paragraph object for text frame | |
IParagraph para = txtFrame.Paragraphs[0]; | |
// Create Portion object for paragraph | |
IPortion portion = para.Portions[0]; | |
// Set Text | |
portion.Text = "Aspose TextBox"; | |
// Save the presentation to disk | |
pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Instantiate Presentation class that represents PPTX file | |
Presentation pres = new Presentation(); | |
// Access first slide | |
ISlide sld = pres.Slides[0]; | |
// Add chart with default data | |
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500); | |
// Setting chart Title | |
// Chart.ChartTitle.TextFrameForOverriding.Text = "Sample Title"; | |
chart.ChartTitle.AddTextFrameForOverriding("Sample Title"); | |
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True; | |
chart.ChartTitle.Height = 20; | |
chart.HasTitle = true; | |
// Set first series to Show Values | |
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true; | |
// Setting the index of chart data sheet | |
int defaultWorksheetIndex = 0; | |
// Getting the chart data worksheet | |
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; | |
// Delete default generated series and categories | |
chart.ChartData.Series.Clear(); | |
chart.ChartData.Categories.Clear(); | |
int s = chart.ChartData.Series.Count; | |
s = chart.ChartData.Categories.Count; | |
// Adding new series | |
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); | |
// Adding new categories | |
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")); | |
// Take first chart series | |
IChartSeries series = chart.ChartData.Series[0]; | |
// Now populating series data | |
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)); | |
// Setting fill color for series | |
series.Format.Fill.FillType = FillType.Solid; | |
series.Format.Fill.SolidFillColor.Color = Color.Red; | |
// Take second chart series | |
series = chart.ChartData.Series[1]; | |
// Now populating series data | |
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)); | |
// Setting fill color for series | |
series.Format.Fill.FillType = FillType.Solid; | |
series.Format.Fill.SolidFillColor.Color = Color.Green; | |
// First label will be show Category name | |
IDataLabel lbl = series.DataPoints[0].Label; | |
lbl.DataLabelFormat.ShowCategoryName = true; | |
lbl = series.DataPoints[1].Label; | |
lbl.DataLabelFormat.ShowSeriesName = true; | |
// Show value for third label | |
lbl = series.DataPoints[2].Label; | |
lbl.DataLabelFormat.ShowValue = true; | |
lbl.DataLabelFormat.ShowSeriesName = true; | |
lbl.DataLabelFormat.Separator = "/"; | |
// Save presentation with chart | |
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Instantiate a Presentation object that represents a presentation file | |
using (Presentation presentation = new Presentation()) | |
{ | |
// Get the first slide | |
ISlide slide = presentation.Slides[0]; | |
// Add content to slide... | |
// Save presentation | |
presentation.Save("NewPresentation.pptx", SaveFormat.Pptx); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Instantiate Presentation class that represents PPTX file | |
Presentation pres = new Presentation(); | |
// Access first slide | |
ISlide sld = pres.Slides[0]; | |
// Define columns with widths and rows with heights | |
double[] dblCols = { 50, 50, 50 }; | |
double[] dblRows = { 50, 30, 30, 30, 30 }; | |
// Add table shape to slide | |
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows); | |
// Set border format for each 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; | |
} | |
} | |
// Merge cells 1 & 2 of row 1 | |
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false); | |
// Add text to the merged cell | |
tbl.Rows[0][0].TextFrame.Text = "Merged Cells"; | |
// Save PPTX to Disk | |
pres.Save("table.pptx", SaveFormat.Pptx); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Opening the presentation file by passing the file path to the constructor of Presentation class | |
Presentation pres = new Presentation("OpenPresentation.pptx"); | |
// Printing the total number of slides in the presentation | |
System.Console.WriteLine(pres.Slides.Count.ToString()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment