Articles in this section
Category / Section

How to create a PowerPoint file in Xamarin.Android

3 mins read

Syncfusion Essential PowerPoint is a .NET PowerPoint library used to create, read, and edit PowerPoint documents. Using this library, you can start creating a PowerPoint document in Xamarin.Android.

 

Steps to create PowerPoint file programmatically:

 

  1. Create a new C# Xamarin Android application project.

 

1. Create a new C# Xamarin Android application project.

 

  1. Select a project template and minimum android version for the application.

 

3. Install Syncfusion.Xamarin.Presentation NuGet package

 

  1. Install Syncfusion.Xamarin.Presentation NuGet package as a reference to the .NET Standard project in your Xamarin applications from NuGet.org.

 


2. Select a project template and minimum android version for the application.

 

  1. In Main.axml add the new button and define the click event to generate the Excel file.

 

i)In Main.axml page add the following code to add the button

 

<Button
   android:id="@+id/MyButton"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
/>

 

ii)In MainActivity.cs file add the following code to define the click event to generate Excel file.

 

protected override void OnCreate(Bundle savedInstanceState)
{
  base.OnCreate(savedInstanceState);
 
  // Set our view from the "main" layout resource
  SetContentView(Resource.Layout.activity_main);
 
  Button button = FindViewById<Button>(Resource.Id.MyButton);
  button.Text = "Create PowerPoint";
  button.Click += OnButtonClicked;
}

 

  1. Include the following namespace in the MainActivity.cs file.
    using Syncfusion.Presentation;
    

 

  1. In the click event method (OnButtonClicked) add the following code to create a PowerPoint file and save it in a stream.

 

void OnButtonClicked(object sender, EventArgs args)
{
    using (IPresentation pptxDoc = Presentation.Create())
    {
//Add slide to the PowerPoint
ISlide slide = pptxDoc.Slides.Add(SlideLayoutType.Blank);
 
//Add textbox to the slide
IShape textboxShape = slide.AddTextBox(0, 0, 500, 500);
 
//Add paragraph to the textbody of textbox
IParagraph paragraph = textboxShape.TextBody.AddParagraph();
 
//Add a TextPart to the paragraph
ITextPart textPart = paragraph.AddTextPart();
 
//Add text to the TextPart
textPart.Text = "AdventureWorks Cycles, the fictitious company on which the AdventureWorks sample databases are based, is a large, multinational manufacturing company.";
 
//Create an instance for memory stream
MemoryStream memoryStream = new MemoryStream();
 
//Save the presentation to stream
            pptxDoc.Save(memoryStream);
 
//Create an instance for SaveAndroid
SaveAndroid saveAndroid = new SaveAndroid();
 
//Save the stream as presentation file
await saveAndroid.SaveAndView("output.pptx", "application/powerpoint", memoryStream, this);
    }
}

 

  1.  Add the SaveAndroid class to the project where the stream will be saved to a physical file and the file can be opened for viewing.

The code for SaveAndroid class has been given below.

 

class SaveAndroid
{
  //Method to save document as a file in Android and view the saved document
  public async Task SaveAndView(string fileName, String contentType, MemoryStream stream, AppCompatActivity activity)
  {
    string root = null;
    //Get the root path in android device.
    if (Android.OS.Environment.IsExternalStorageEmulated)
    {
      root = Android.OS.Environment.ExternalStorageDirectory.ToString();
    }
    else
        root = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 
    //Create directory and file 
    Java.IO.File myDir = new Java.IO.File(root + "/Syncfusion");
    myDir.Mkdir();
 
    Java.IO.File file = new Java.IO.File(myDir, fileName);
 
    //Remove if the file exists
    if (file.Exists()) file.Delete();
 
    //Write the stream into the file
    FileOutputStream outs = new FileOutputStream(file);
    outs.Write(stream.ToArray());
 
    outs.Flush();
    outs.Close();
 
    //Invoke the created file for viewing
    if (file.Exists())
    {
      Android.Net.Uri path = Android.Net.Uri.FromFile(file);
      string extension = Android.Webkit.MimeTypeMap.GetFileExtensionFromUrl(Android.Net.Uri.FromFile(file).ToString());
      string mimeType = Android.Webkit.MimeTypeMap.Singleton.GetMimeTypeFromExtension(extension);
      Intent intent = new Intent(Intent.ActionView);
      intent.AddFlags(ActivityFlags.NewTask);
      intent.SetDataAndType(path, mimeType);
      activity.StartActivity(Intent.CreateChooser(intent, "Choose App"));
    }
  }
}

 

  1. Compile and execute the application. Now this application creates a simple PowerPoint document.

 

Note:

For the PowerPoint document to be read and written in the android device, the storage permission must be given for the deployed application. To read/write with the external storage location enable the required permissions in Android Manifest.

 

 

Read and Write permissions enabled for Xamarin.Android application

 

A complete working example to create Excel file in Xamarin.Andriod can be downloaded from Create-PowerPoint-file.zip.

 

Take a moment to peruse the documentation, where you can find basic slide creation in PowerPoint options along with features like Paragraphs, adding Shapes and Charts , organizing and analyzing data through Tables and most importantly PDF and Image conversions etc. with code examples.

Refer here to explore the rich set of Syncfusion Essential PowerPoint features.

 

Note:

Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer to link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied