/// <summary> /// Add a paragraph into the specified shape with specified text /// </summary> /// <param name="shape">Represent the shape</param> /// <param name="text">Represent the text to be added</param> /// <param name="fillColor">Represent the color to fill the shape</param> private void AddParagraph(IShape shape, string text, IColor fillColor) { //set the fill type as solid shape.Fill.FillType = FillType.Solid; //Set the color of the solid fill shape.Fill.SolidFill.Color = fillColor; //set the fill type of line format as solid shape.LineFormat.Fill.FillType = FillType.Solid; //set the fill color of line format if (fillColor.R == 255) { shape.LineFormat.Fill.SolidFill.Color = ColorObject.FromArgb(190, 100, 39); } else { shape.LineFormat.Fill.SolidFill.Color = ColorObject.FromArgb(54, 91, 157); } //Add a paragraph into the specified shape with specified text IParagraph paragraph = shape.TextBody.AddParagraph(text); //Set the vertical alignment as center shape.TextBody.VerticalAlignment = VerticalAlignmentType.Middle; //Set horizontal alignment as center paragraph.HorizontalAlignment = HorizontalAlignmentType.Center; //Set font color as white paragraph.Font.Color = ColorObject.White; //Change the font size paragraph.Font.FontSize = 16; }
private void btnCreateImage_Click(object sender, RoutedEventArgs e) { try { //Opens the existing presentation stream. using (IPresentation presentation = Presentation.Create()) { ISlide slide = presentation.Slides.Add(SlideLayoutType.TitleOnly); IParagraph paragraph = ((IShape)slide.Shapes[0]).TextBody.Paragraphs.Add(); //Apply center alignment to the paragraph paragraph.HorizontalAlignment = HorizontalAlignmentType.Center; //Add slide title ITextPart textPart = paragraph.AddTextPart("Northwind Management Report"); textPart.Font.Color = ColorObject.FromArgb(46, 116, 181); //Get chart data from xml file DataSet dataSet = new DataSet(); dataSet.ReadXml(@"..\..\..\..\..\..\..\Common\Data\Presentation\Products.xml"); //Add a new chart to the presentation slide IPresentationChart chart = slide.Charts.AddChart(44.64, 133.2, 870.48, 380.16); //Set chart type chart.ChartType = OfficeChartType.Pie; //Set chart title chart.ChartTitle = "Best Selling Products"; //Set chart properties font name and size chart.ChartTitleArea.FontName = "Calibri (Body)"; chart.ChartTitleArea.Size = 14; for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++) { chart.ChartData.SetValue(i + 2, 1, dataSet.Tables[0].Rows[i].ItemArray[1]); chart.ChartData.SetValue(i + 2, 2, dataSet.Tables[0].Rows[i].ItemArray[2]); } //Create a new chart series with the name “Sales” AddSeriesForChart(chart); //Setting the font size of the legend. chart.Legend.TextArea.Size = 14; //Setting background color chart.ChartArea.Fill.ForeColor = System.Drawing.Color.FromArgb(242, 242, 242); chart.PlotArea.Fill.ForeColor = System.Drawing.Color.FromArgb(242, 242, 242); chart.ChartArea.Border.LinePattern = OfficeChartLinePattern.None; chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[2, 1, 11, 1]; //Saves the presentation instance to the stream. presentation.Save("ChartCreationSample.pptx"); if (System.Windows.MessageBox.Show("Do you want to view the generated PowerPoint Presentation?", "Chart Creation", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes) { System.Diagnostics.Process.Start("ChartCreationSample.pptx"); this.Close(); } } } catch (Exception exception) { System.Windows.MessageBox.Show("This Presentation could not be created, please contact Syncfusion Direct-Trac system at http://www.syncfusion.com/support/default.aspx for any queries. ", "OOPS..Sorry!", MessageBoxButton.OK); this.Close(); } }
void OnButtonClicked(object sender, EventArgs e) { MemoryStream stream = new MemoryStream(); //Create a Presentation instance using (IPresentation presentation = Syncfusion.Presentation.Presentation.Create()) { //Add a blank slide to the Presentation ISlide slide = presentation.Slides.Add(SlideLayoutType.TitleOnly); //Add a empty paragraph to the slide IParagraph paragraph = ((IShape)slide.Shapes[0]).TextBody.Paragraphs.Add(); //Apply center alignment to the paragraph paragraph.HorizontalAlignment = HorizontalAlignmentType.Center; //Add slide title ITextPart textPart = paragraph.AddTextPart("Northwind Management Report"); textPart.Font.Color = ColorObject.FromArgb(46, 116, 181); //Get chart data from xml file List <ProductDetails> Products = LoadXMLData(); //Add a new chart to the presentation slide IPresentationChart chart = slide.Charts.AddChart(44.64, 133.2, 870.48, 380.16); //Set chart type chart.ChartType = OfficeChartType.Pie; //Set chart title chart.ChartTitle = "Best Selling Products"; //Set chart properties font name and size chart.ChartTitleArea.FontName = "Calibri (Body)"; chart.ChartTitleArea.Size = 14; //Itterate and set the values to chart for (int i = 0; i < Products.Count; i++) { ProductDetails product = Products[i]; chart.ChartData.SetValue(i + 2, 1, product.ProductName); chart.ChartData.SetValue(i + 2, 2, product.Sum); } //Create a new chart series with the name �Sales� AddSeriesForChart(chart); //Set the font size of the legend. chart.Legend.TextArea.Size = 14; //Set the color formatting to the chart chart.ChartArea.Fill.ForeColor = Syncfusion.Drawing.Color.FromArgb(242, 242, 242); chart.PlotArea.Fill.ForeColor = Syncfusion.Drawing.Color.FromArgb(242, 242, 242); chart.ChartArea.Border.LinePattern = OfficeChartLinePattern.None; chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[2, 1, 11, 1]; //Save the presentation instance to a stream. presentation.Save(stream); } stream.Position = 0; if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows) { Xamarin.Forms.DependencyService.Get <ISaveWindowsPhone>().Save("ChartsSample.pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation", stream); } else { Xamarin.Forms.DependencyService.Get <ISave>().Save("ChartsSample.pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation", stream); } }
public IActionResult CreateSlide(string image, string header, string content) { WebClient webClient = new WebClient(); webClient.DownloadFile(image, "image.jpg"); //Create a new instance of PowerPoint Presentation file IPresentation pptxDoc = Presentation.Create(); //Add a new slide to file and apply background color ISlide slide = pptxDoc.Slides.Add(SlideLayoutType.TitleOnly); //Specify the fill type and fill color for the slide background slide.Background.Fill.FillType = FillType.Solid; slide.Background.Fill.SolidFill.Color = ColorObject.FromArgb(232, 241, 229); //Add title content to the slide by accessing the title placeholder of the TitleOnly layout-slide IShape titleShape = slide.Shapes[0] as IShape; titleShape.TextBody.AddParagraph(header).HorizontalAlignment = HorizontalAlignmentType.Center; //Add description content to the slide by adding a new TextBox IShape descriptionShape = slide.AddTextBox(53.22, 141.73, 874.19, 77.70); descriptionShape.TextBody.Text = content; //Gets a picture as stream. FileStream pictureStream = new FileStream("image.jpg", FileMode.Open); //Adds the picture to a slide by specifying its size and position. slide.Shapes.AddPicture(pictureStream, 499.79, 238.59, 364.54, 192.16); //Save the PowerPoint Presentation as stream FileStream outputStream = new FileStream("Sample.pptx", FileMode.Create); pptxDoc.Save(outputStream); //Release all resources from stream outputStream.Dispose(); //Close the PowerPoint presentation pptxDoc.Close(); var displaySlide = new Result { Title = header, Content = content, Link = image }; return(View(displaySlide)); }
void OnButtonClicked(object sender, EventArgs e) { MemoryStream stream = new MemoryStream(); //Opens the existing presentation stream. using (IPresentation presentation = Syncfusion.Presentation.Presentation.Create()) { ISlide slide = presentation.Slides.Add(SlideLayoutType.TitleOnly); IParagraph paragraph = ((IShape)slide.Shapes[0]).TextBody.Paragraphs.Add(); //Apply center alignment to the paragraph paragraph.HorizontalAlignment = HorizontalAlignmentType.Center; //Add slide title ITextPart textPart = paragraph.AddTextPart("Northwind Management Report"); textPart.Font.Color = ColorObject.FromArgb(46, 116, 181); //Get chart data from xml file List <ProductDetails> Products = LoadXMLData(); //Add a new chart to the presentation slide IPresentationChart chart = slide.Charts.AddChart(44.64, 133.2, 870.48, 380.16); //Set chart type chart.ChartType = OfficeChartType.Pie; //Set chart title chart.ChartTitle = "Best Selling Products"; //Set chart properties font name and size chart.ChartTitleArea.FontName = "Calibri (Body)"; chart.ChartTitleArea.Size = 14; for (int i = 0; i < Products.Count; i++) { ProductDetails product = Products[i]; chart.ChartData.SetValue(i + 2, 1, product.ProductName); chart.ChartData.SetValue(i + 2, 2, product.Sum); } //Create a new chart series with the name “Sales” AddSeriesForChart(chart); //Setting the font size of the legend. chart.Legend.TextArea.Size = 14; //Setting background color chart.ChartArea.Fill.ForeColor = Syncfusion.Drawing.Color.FromArgb(242, 242, 242); chart.PlotArea.Fill.ForeColor = Syncfusion.Drawing.Color.FromArgb(242, 242, 242); chart.ChartArea.Border.LinePattern = OfficeChartLinePattern.None; chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[2, 1, 11, 1]; //Saves the presentation instance to the stream. presentation.Save(stream); } stream.Position = 0; if (stream != null) { SaveiOS iOSSave = new SaveiOS(); iOSSave.Save("ChartsPresentation.pptx", "application/mspowerpoint", stream); } }
private void CreateInitialPPt() { String Title, TextDesc; Title = Title_txtBx.Text; TextDesc = Txt_Blk.Text; string today = DateTime.Now.ToShortDateString(); //Creates a new ppt doc IPresentation ppt_doc = Presentation.Create(); //Adding a initial slide to the ppt ISlide slide = ppt_doc.Slides.Add(SlideLayoutType.PictureWithCaption); //Specify the fill type and fill color for the slide background slide.Background.Fill.FillType = FillType.Solid; slide.Background.Fill.SolidFill.Color = ColorObject.FromArgb(232, 241, 229); //Add title content to the slide by accessing the title placeholder of the TitleOnly layout-slide IShape titleShape = slide.Shapes[0] as IShape; titleShape.TextBody.AddParagraph(Title).HorizontalAlignment = HorizontalAlignmentType.Center; //Adding a TextBox to the slide IShape shape = slide.AddTextBox(80, 200, 500, 100); shape.TextBody.AddParagraph(TextDesc); String imgName = GetImageName(); imgName = staticFilePath + imgName; //Gets a picture as stream. Stream pictureStream = File.Open(imgName, FileMode.Open); //Adds the picture to a slide by specifying its size and position. slide.Shapes.AddPicture(pictureStream, 499.79, 238.59, 364.54, 192.16); //Save the ppt ppt_doc.Save(Title + ".pptx"); //Dispose the image stream pictureStream.Dispose(); //closing the ppt ppt_doc.Close(); }
public ActionResult CreatingChart(string Browser) { IPresentation presentation = Presentation.Create(); ISlide slide = presentation.Slides.Add(SlideLayoutType.TitleOnly); IParagraph paragraph = ((IShape)slide.Shapes[0]).TextBody.Paragraphs.Add(); //Apply center alignment to the paragraph paragraph.HorizontalAlignment = HorizontalAlignmentType.Center; //Add slide title ITextPart textPart = paragraph.AddTextPart("Northwind Management Report"); textPart.Font.Color = ColorObject.FromArgb(46, 116, 181); //Get chart data from xml file DataSet dataSet = new DataSet(); //Load XML file string dataPath = ResolveApplicationDataPath("Products.xml"); dataSet.ReadXml(dataPath); //Add a new chart to the presentation slide IPresentationChart chart = slide.Charts.AddChart(44.64, 133.2, 870.48, 380.16); //Set chart type chart.ChartType = OfficeChartType.Pie; //Set chart title chart.ChartTitle = "Best Selling Products"; //Set chart properties font name and size chart.ChartTitleArea.FontName = "Calibri (Body)"; chart.ChartTitleArea.Size = 14; for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++) { chart.ChartData.SetValue(i + 2, 1, dataSet.Tables[0].Rows[i].ItemArray[1]); chart.ChartData.SetValue(i + 2, 2, dataSet.Tables[0].Rows[i].ItemArray[2]); } //Create a new chart series with the name �Sales� AddSeriesForChart(chart); //Setting the font size of the legend. chart.Legend.TextArea.Size = 14; //Setting background color chart.ChartArea.Fill.ForeColor = System.Drawing.Color.FromArgb(242, 242, 242); chart.PlotArea.Fill.ForeColor = System.Drawing.Color.FromArgb(242, 242, 242); chart.ChartArea.Border.LinePattern = OfficeChartLinePattern.None; chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[2, 1, 11, 1]; // Saves the presentation return(new PresentationResult(presentation, "Chart.pptx", HttpContext.ApplicationInstance.Response)); }
public ActionResult Connector(string Browser) { //Create an instance for PowerPoint IPresentation presentation = Syncfusion.Presentation.Presentation.Create(); //Add a blank slide to Presentation ISlide slide = presentation.Slides.Add(SlideLayoutType.Blank); //Add header shape IShape headerTextBox = slide.Shapes.AddTextBox(58.44, 53.85, 221.93, 81.20); //Add a paragraph into the text box IParagraph paragraph = headerTextBox.TextBody.AddParagraph("Flow chart with "); //Add a textPart ITextPart textPart = paragraph.AddTextPart("Connector"); //Change the color of the font textPart.Font.Color = ColorObject.FromArgb(44, 115, 230); //Make the textpart bold textPart.Font.Bold = true; //Set the font size of the paragraph paragraph.Font.FontSize = 28; //Add start shape to slide IShape startShape = slide.Shapes.AddShape(AutoShapeType.FlowChartTerminator, 420.45, 36.35, 133.93, 50.39); //Add a paragraph into the start shape text body AddParagraph(startShape, "Start", ColorObject.FromArgb(255, 149, 34)); //Add alarm shape to slide IShape alarmShape = slide.Shapes.AddShape(AutoShapeType.FlowChartProcess, 420.45, 126.72, 133.93, 50.39); //Add a paragraph into the alarm shape text body AddParagraph(alarmShape, "Alarm Rings", ColorObject.FromArgb(255, 149, 34)); //Add condition shape to slide IShape conditionShape = slide.Shapes.AddShape(AutoShapeType.FlowChartDecision, 420.45, 222.42, 133.93, 97.77); //Add a paragraph into the condition shape text body AddParagraph(conditionShape, "Ready to Get Up ?", ColorObject.FromArgb(44, 115, 213)); //Add wake up shape to slide IShape wakeUpShape = slide.Shapes.AddShape(AutoShapeType.FlowChartProcess, 420.45, 361.52, 133.93, 50.39); //Add a paragraph into the wake up shape text body AddParagraph(wakeUpShape, "Wake Up", ColorObject.FromArgb(44, 115, 213)); //Add end shape to slide IShape endShape = slide.Shapes.AddShape(AutoShapeType.FlowChartTerminator, 420.45, 453.27, 133.93, 50.39); //Add a paragraph into the end shape text body AddParagraph(endShape, "End", ColorObject.FromArgb(44, 115, 213)); //Add snooze shape to slide IShape snoozeShape = slide.Shapes.AddShape(AutoShapeType.FlowChartProcess, 624.85, 245.79, 159.76, 50.02); //Add a paragraph into the snooze shape text body AddParagraph(snoozeShape, "Hit Snooze button", ColorObject.FromArgb(255, 149, 34)); //Add relay shape to slide IShape relayShape = slide.Shapes.AddShape(AutoShapeType.FlowChartDelay, 624.85, 127.12, 159.76, 49.59); //Add a paragraph into the relay shape text body AddParagraph(relayShape, "Relay", ColorObject.FromArgb(255, 149, 34)); //Connect the start shape with alarm shape using connector IConnector connector1 = slide.Shapes.AddConnector(ConnectorType.Straight, startShape, 2, alarmShape, 0); //Set the arrow style for the connector connector1.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the alarm shape with condition shape using connector IConnector connector2 = slide.Shapes.AddConnector(ConnectorType.Straight, alarmShape, 2, conditionShape, 0); //Set the arrow style for the connector connector2.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the condition shape with snooze shape using connector IConnector connector3 = slide.Shapes.AddConnector(ConnectorType.Straight, conditionShape, 3, snoozeShape, 1); //Set the arrow style for the connector connector3.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the snooze shape with relay shape using connector IConnector connector4 = slide.Shapes.AddConnector(ConnectorType.Straight, snoozeShape, 0, relayShape, 2); //Set the arrow style for the connector connector4.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the relay shape with alarm shape using connector IConnector connector5 = slide.Shapes.AddConnector(ConnectorType.Straight, relayShape, 1, alarmShape, 3); //Set the arrow style for the connector connector5.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the condition shape with wake up shape using connector IConnector connector6 = slide.Shapes.AddConnector(ConnectorType.Straight, conditionShape, 2, wakeUpShape, 0); //Set the arrow style for the connector connector6.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the wake up shape with end shape using connector IConnector connector7 = slide.Shapes.AddConnector(ConnectorType.Straight, wakeUpShape, 2, endShape, 0); //Set the arrow style for the connector connector7.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Add No textbox to slide IShape noTextBox = slide.Shapes.AddTextBox(564.02, 245.43, 51.32, 26.22); //Add a paragraph into the text box noTextBox.TextBody.AddParagraph("No"); //Add Yes textbox to slide IShape yesTextBox = slide.Shapes.AddTextBox(487.21, 327.99, 50.09, 26.23); //Add a paragraph into the text box yesTextBox.TextBody.AddParagraph("Yes"); MemoryStream ms = new MemoryStream(); //Saves the presentation to the memory stream. presentation.Save(ms); //Set the position of the stream to beginning. ms.Position = 0; //Initialize the file stream to download the presentation. FileStreamResult fileStreamResult = new FileStreamResult(ms, "application/vnd.openxmlformats-officedocument.presentationml.presentation"); //Set the file name. fileStreamResult.FileDownloadName = "Connector.pptx"; return(fileStreamResult); }
private void btnCreatePresn_Click(object sender, EventArgs e) { //Create an instance for PowerPoint IPresentation presentation = Presentation.Create(); //Add a blank slide to Presentation ISlide slide = presentation.Slides.Add(SlideLayoutType.Blank); //Add header shape IShape headerTextBox = slide.Shapes.AddTextBox(58.44, 53.85, 221.93, 81.20); //Add a paragraph into the text box IParagraph paragraph = headerTextBox.TextBody.AddParagraph("Flow chart with "); //Add a textPart ITextPart textPart = paragraph.AddTextPart("Connector"); //Change the color of the font textPart.Font.Color = ColorObject.FromArgb(44, 115, 230); //Make the textpart bold textPart.Font.Bold = true; //Set the font size of the paragraph paragraph.Font.FontSize = 28; //Add start shape to slide IShape startShape = slide.Shapes.AddShape(AutoShapeType.FlowChartTerminator, 420.45, 36.35, 133.93, 50.39); //Add a paragraph into the start shape text body AddParagraph(startShape, "Start", ColorObject.FromArgb(255, 149, 34)); //Add alarm shape to slide IShape alarmShape = slide.Shapes.AddShape(AutoShapeType.FlowChartProcess, 420.45, 126.72, 133.93, 50.39); //Add a paragraph into the alarm shape text body AddParagraph(alarmShape, "Alarm Rings", ColorObject.FromArgb(255, 149, 34)); //Add condition shape to slide IShape conditionShape = slide.Shapes.AddShape(AutoShapeType.FlowChartDecision, 420.45, 222.42, 133.93, 97.77); //Add a paragraph into the condition shape text body AddParagraph(conditionShape, "Ready to Get Up ?", ColorObject.FromArgb(44, 115, 213)); //Add wake up shape to slide IShape wakeUpShape = slide.Shapes.AddShape(AutoShapeType.FlowChartProcess, 420.45, 361.52, 133.93, 50.39); //Add a paragraph into the wake up shape text body AddParagraph(wakeUpShape, "Wake Up", ColorObject.FromArgb(44, 115, 213)); //Add end shape to slide IShape endShape = slide.Shapes.AddShape(AutoShapeType.FlowChartTerminator, 420.45, 453.27, 133.93, 50.39); //Add a paragraph into the end shape text body AddParagraph(endShape, "End", ColorObject.FromArgb(44, 115, 213)); //Add snooze shape to slide IShape snoozeShape = slide.Shapes.AddShape(AutoShapeType.FlowChartProcess, 624.85, 245.79, 159.76, 50.02); //Add a paragraph into the snooze shape text body AddParagraph(snoozeShape, "Hit Snooze button", ColorObject.FromArgb(255, 149, 34)); //Add relay shape to slide IShape relayShape = slide.Shapes.AddShape(AutoShapeType.FlowChartDelay, 624.85, 127.12, 159.76, 49.59); //Add a paragraph into the relay shape text body AddParagraph(relayShape, "Relay", ColorObject.FromArgb(255, 149, 34)); //Connect the start shape with alarm shape using connector IConnector connector1 = slide.Shapes.AddConnector(ConnectorType.Straight, startShape, 2, alarmShape, 0); //Set the arrow style for the connector connector1.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the alarm shape with condition shape using connector IConnector connector2 = slide.Shapes.AddConnector(ConnectorType.Straight, alarmShape, 2, conditionShape, 0); //Set the arrow style for the connector connector2.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the condition shape with snooze shape using connector IConnector connector3 = slide.Shapes.AddConnector(ConnectorType.Straight, conditionShape, 3, snoozeShape, 1); //Set the arrow style for the connector connector3.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the snooze shape with relay shape using connector IConnector connector4 = slide.Shapes.AddConnector(ConnectorType.Straight, snoozeShape, 0, relayShape, 2); //Set the arrow style for the connector connector4.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the relay shape with alarm shape using connector IConnector connector5 = slide.Shapes.AddConnector(ConnectorType.Straight, relayShape, 1, alarmShape, 3); //Set the arrow style for the connector connector5.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the condition shape with wake up shape using connector IConnector connector6 = slide.Shapes.AddConnector(ConnectorType.Straight, conditionShape, 2, wakeUpShape, 0); //Set the arrow style for the connector connector6.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the wake up shape with end shape using connector IConnector connector7 = slide.Shapes.AddConnector(ConnectorType.Straight, wakeUpShape, 2, endShape, 0); //Set the arrow style for the connector connector7.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Add No textbox to slide IShape noTextBox = slide.Shapes.AddTextBox(564.02, 245.43, 51.32, 26.22); //Add a paragraph into the text box noTextBox.TextBody.AddParagraph("No"); //Add Yes textbox to slide IShape yesTextBox = slide.Shapes.AddTextBox(487.21, 327.99, 50.09, 26.23); //Add a paragraph into the text box yesTextBox.TextBody.AddParagraph("Yes"); //Saves the presentation presentation.Save("ConnectorSample.pptx"); if (System.Windows.MessageBox.Show("Do you want to view the generated Presentation?", "Presentation Created", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes) { #if !NETCore System.Diagnostics.Process.Start("ConnectorSample.pptx"); #else System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo = new System.Diagnostics.ProcessStartInfo("ConnectorSample.pptx") { UseShellExecute = true }; process.Start(); #endif this.Close(); } }
private async void Button_Click_1(object sender, RoutedEventArgs e) { //Create an instance for PowerPoint IPresentation presentation = Presentation.Create(); //Add a blank slide to Presentation ISlide slide = presentation.Slides.Add(SlideLayoutType.Blank); //Add header shape IShape headerTextBox = slide.Shapes.AddTextBox(58.44, 53.85, 221.93, 81.20); //Add a paragraph into the text box IParagraph paragraph = headerTextBox.TextBody.AddParagraph("Flow chart with "); //Add a textPart ITextPart textPart = paragraph.AddTextPart("Connector"); //Change the color of the font textPart.Font.Color = ColorObject.FromArgb(44, 115, 230); //Make the textpart bold textPart.Font.Bold = true; //Set the font size of the paragraph paragraph.Font.FontSize = 28; //Add start shape to slide IShape startShape = slide.Shapes.AddShape(AutoShapeType.FlowChartTerminator, 420.45, 36.35, 133.93, 50.39); //Add a paragraph into the start shape text body AddParagraph(startShape, "Start", ColorObject.FromArgb(255, 149, 34)); //Add alarm shape to slide IShape alarmShape = slide.Shapes.AddShape(AutoShapeType.FlowChartProcess, 420.45, 126.72, 133.93, 50.39); //Add a paragraph into the alarm shape text body AddParagraph(alarmShape, "Alarm Rings", ColorObject.FromArgb(255, 149, 34)); //Add condition shape to slide IShape conditionShape = slide.Shapes.AddShape(AutoShapeType.FlowChartDecision, 420.45, 222.42, 133.93, 97.77); //Add a paragraph into the condition shape text body AddParagraph(conditionShape, "Ready to Get Up ?", ColorObject.FromArgb(44, 115, 213)); //Add wake up shape to slide IShape wakeUpShape = slide.Shapes.AddShape(AutoShapeType.FlowChartProcess, 420.45, 361.52, 133.93, 50.39); //Add a paragraph into the wake up shape text body AddParagraph(wakeUpShape, "Wake Up", ColorObject.FromArgb(44, 115, 213)); //Add end shape to slide IShape endShape = slide.Shapes.AddShape(AutoShapeType.FlowChartTerminator, 420.45, 453.27, 133.93, 50.39); //Add a paragraph into the end shape text body AddParagraph(endShape, "End", ColorObject.FromArgb(44, 115, 213)); //Add snooze shape to slide IShape snoozeShape = slide.Shapes.AddShape(AutoShapeType.FlowChartProcess, 624.85, 245.79, 159.76, 50.02); //Add a paragraph into the snooze shape text body AddParagraph(snoozeShape, "Hit Snooze button", ColorObject.FromArgb(255, 149, 34)); //Add relay shape to slide IShape relayShape = slide.Shapes.AddShape(AutoShapeType.FlowChartDelay, 624.85, 127.12, 159.76, 49.59); //Add a paragraph into the relay shape text body AddParagraph(relayShape, "Relay", ColorObject.FromArgb(255, 149, 34)); //Connect the start shape with alarm shape using connector IConnector connector1 = slide.Shapes.AddConnector(ConnectorType.Straight, startShape, 2, alarmShape, 0); //Set the arrow style for the connector connector1.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the alarm shape with condition shape using connector IConnector connector2 = slide.Shapes.AddConnector(ConnectorType.Straight, alarmShape, 2, conditionShape, 0); //Set the arrow style for the connector connector2.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the condition shape with snooze shape using connector IConnector connector3 = slide.Shapes.AddConnector(ConnectorType.Straight, conditionShape, 3, snoozeShape, 1); //Set the arrow style for the connector connector3.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the snooze shape with relay shape using connector IConnector connector4 = slide.Shapes.AddConnector(ConnectorType.Straight, snoozeShape, 0, relayShape, 2); //Set the arrow style for the connector connector4.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the relay shape with alarm shape using connector IConnector connector5 = slide.Shapes.AddConnector(ConnectorType.Straight, relayShape, 1, alarmShape, 3); //Set the arrow style for the connector connector5.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the condition shape with wake up shape using connector IConnector connector6 = slide.Shapes.AddConnector(ConnectorType.Straight, conditionShape, 2, wakeUpShape, 0); //Set the arrow style for the connector connector6.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Connect the wake up shape with end shape using connector IConnector connector7 = slide.Shapes.AddConnector(ConnectorType.Straight, wakeUpShape, 2, endShape, 0); //Set the arrow style for the connector connector7.LineFormat.EndArrowheadStyle = ArrowheadStyle.Arrow; //Add No textbox to slide IShape noTextBox = slide.Shapes.AddTextBox(564.02, 245.43, 51.32, 26.22); //Add a paragraph into the text box noTextBox.TextBody.AddParagraph("No"); //Add Yes textbox to slide IShape yesTextBox = slide.Shapes.AddTextBox(487.21, 327.99, 50.09, 26.23); //Add a paragraph into the text box yesTextBox.TextBody.AddParagraph("Yes"); MemoryStream ms = new MemoryStream(); SavePPTX(presentation); }
public void createPresentation(string title, string body, List <string> images) { //Create a new instance of PowerPoint Presentation file IPresentation pptxDoc = Presentation.Create(); //Add a new slide to file and apply background color ISlide slide = pptxDoc.Slides.Add(SlideLayoutType.TitleOnly); //Specify the fill type and fill color for the slide background slide.Background.Fill.FillType = FillType.Solid; slide.Background.Fill.SolidFill.Color = ColorObject.FromArgb(255, 255, 255); //Add title content to the slide by accessing the title placeholder of the TitleOnly layout-slide IShape titleShape = slide.Shapes[0] as IShape; titleShape.TextBody.AddParagraph(title).HorizontalAlignment = HorizontalAlignmentType.Center; //Add description content to the slide by adding a new TextBox IShape descriptionShape = slide.AddTextBox(53.22, 141.73, 874.19, 77.70); // Parse bold text in body IParagraph bodyParagraph = descriptionShape.TextBody.AddParagraph(); String regular = ""; String bold = ""; for (int i = 0; i < body.Length; i++) { int lIndex = 0; int rIndex = 0; if (body[i].Equals('*') && body[i + 1].Equals('*')) { lIndex = i + 2; rIndex = body.IndexOf("**", lIndex, body.Length - lIndex); bold = bold + body.Substring(lIndex, rIndex - lIndex); // Console.WriteLine("result = " + result); ITextPart textPart1 = bodyParagraph.TextParts.Add(); textPart1.Text = regular; textPart1.Font.Bold = false; regular = ""; ITextPart textPart2 = bodyParagraph.TextParts.Add(); textPart2.Text = bold; textPart2.Font.Bold = true; bold = ""; if (rIndex + 2 < body.Length) { i = rIndex + 1; } else { break; } } else { regular = regular + body[i]; } } ITextPart textPart = bodyParagraph.TextParts.Add(); textPart.Text = regular; // regular = ""; using (WebClient client = new WebClient()) { int i = 0; foreach (string image in images) { // Download images from URLs string localImage = $@"..\..\image{i}.jpg"; client.DownloadFile(new Uri(image), localImage); //Gets a picture as stream. Stream pictureStream = File.Open(localImage, FileMode.Open); //Adds the picture to a slide by specifying its size and position. if (i == 0) { slide.Shapes.AddPicture(pictureStream, 199.79, 238.59, 140, 140); } else if (i == 1) { slide.Shapes.AddPicture(pictureStream, 349.79, 238.59, 140, 140); } else if (i == 2) { slide.Shapes.AddPicture(pictureStream, 499.79, 238.59, 140, 140); } else { break; } pictureStream.Close(); i++; } } //Save the PowerPoint Presentation pptxDoc.Save(@"..\..\SEH Challenge.pptx"); //Close the PowerPoint presentation pptxDoc.Close(); }
public void GenratepptxUsingExistingPpt(string sText) { try { IPresentation pptxDoc = Presentation.Open("C:\\Project-Result\\PPTx-Project\\PPTCreationApp\\DataFile\\DemoPPT.pptx"); ILayoutSlide layoutSlide = pptxDoc.Masters[1].LayoutSlides.Add(SlideLayoutType.Blank, "CustomLayout"); IShape shape = layoutSlide.Shapes.AddShape(AutoShapeType.Diamond, 30, 20, 400, 300); layoutSlide.Background.Fill.SolidFill.Color = ColorObject.FromArgb(78, 89, 90); ISlide slide = pptxDoc.Slides.Add(layoutSlide); ITable table = slide.Shapes.AddTable(1, 3, 100, 120, 600, 50); Syncfusion.Drawing.Image image = Syncfusion.Drawing.Image.FromFile("C:\\Project-Result\\PPTx-Project\\PPTCreationApp\\DataFile\\Ninja.jpg"); ICell cell1 = table.Rows[0].Cells[0] as ICell; cell1.Fill.FillType = FillType.Picture; cell1.Fill.PictureFill.ImageBytes = image.ImageData; ICell cell2 = table.Rows[0].Cells[1] as ICell; cell2.Fill.FillType = FillType.Solid; cell2.Fill.SolidFill.Color.SystemColor = Color.BlueViolet; cell2.TextBody.Text = sText.ToString(); ICell cell3 = table.Rows[0].Cells[2] as ICell; Stream txtStream = File.Open("C:\\Project-Result\\PPTx-Project\\PPTCreationApp\\DataFile\\Ornament-CodeFlow.pdf", FileMode.Open); //Stream imageStream = File.Open("D:\\PPTxExamplesConsoleApps\\PPTConsole\\PPTCreationApp\\Images\\TextFile.png", FileMode.Open); byte[] file = File.ReadAllBytes("C:\\Project-Result\\PPTx-Project\\PPTCreationApp\\DataFile\\logopdf.png"); Stream imageStream = new MemoryStream(file); cell3.Fill.FillType = FillType.Picture; cell3.Fill.PictureFill.ImageBytes = file; IOleObject oleObject = slide.Shapes.AddOleObject(imageStream, "Excel.Sheet.12", txtStream); //Set size and position of the OLE object oleObject.Left = 80; oleObject.Top = 30; oleObject.Width = 40; oleObject.Height = 30; int rowIndex = 0, colIndex; //Iterate row-wise cells and add text to it foreach (IRow rows in table.Rows) { colIndex = 0; foreach (ICell cell in rows.Cells) { //cell.TextBody.AddParagraph("(" + rowIndex.ToString() + " , " + colIndex.ToString() + ")"); //colIndex++; } rowIndex++; } pptxDoc.Save("C:\\Project-Result\\PPTx-Project\\PPTCreationApp\\DataFile\\DemoPPT.pptx"); pptxDoc.Close(); } catch (Exception ex) { throw; } }