Create PowerPoint (PPTX) or PDF file on Linux or macOS

GemBox.Presentation is a standalone .NET component with cross-platform support, it can be used on non-Windows platforms like Linux and macOS.

The following example shows how you can create a PowerPoint presentation and a PDF file using GemBox.Presentation on Linux (Ubuntu).

Generated PowerPoint presentation from .NET Core application running on Linux (Ubuntu)
Screenshot of PowerPoint file created with .NET Core on Linux


After installing the requirements listed above you can follow these steps that show how you can easily use a Visual Studio Code (VS Code) to create a simple Console project and a C# code that generates a PPTX file.

1. Open a project folder

  • Open VS Code.
  • Click "Open Folder" on the EXPLORER panel.
  • Select the folder you want your console project to be in, for instance a folder named GemBoxExample.
Selecting the folder you want your console project to be in
Screenshot of Visual Studio Code folder selection

2. Create a new console project

  • Open Integrated Terminal in VS Code by clicking "View" > "Terminal" or using CTRL + ` shortcut.
  • In the terminal window execute following command: dotnet new console
  • This command will create a code file (Program.cs) and a project file (GemBoxExample.csproj) inside the opened folder.
Creating a C# console project
Screenshot of Visual Studio Code new console command

3. Edit project files

  • Add a reference to GemBox.Presentation and its dependencies in GemBoxExample.csproj file:
      <PackageReference Include="GemBox.Presentation" Version="*" />
      <!-- Required if presentation has any image. -->
      <PackageReference Include="System.Drawing.Common" Version="5.0.0" />
      <!-- Required if PDF file is digitally signed. -->
      <PackageReference Include="System.Security.Cryptography.Pkcs" Version="*" />
    Note that System.Drawing.Common assembly has a reference to a native libgdiplus library which must be installed on a non-Windows system.
    To install it on Linux use the following command: sudo apt-get install libgdiplus
    To install it on macOS use Homebrew with the following command: brew install mono-libgdiplus
  • Edit C# code in Program.cs file:
    using GemBox.Presentation;
    class Program
        static void Main()
            // If using Professional version, put your serial key below.
            var presentation = new PresentationDocument();
            var slide = presentation.Slides.AddNew(SlideLayoutType.Custom);
            var textBox = slide.Content.AddTextBox(ShapeGeometryType.Rectangle, 2, 2, 5, 4, LengthUnit.Centimeter);
            var paragraph = textBox.AddParagraph();
            paragraph.AddRun("Hello World!");

4. Run the console project

  • In the terminal window execute following command: dotnet run
  • This command will run your Console application and create a PowerPoint presentation (Output.pptx) and a PDF file (Output.pdf) that you open in any PowerPoint and PDF applications.
Running a C# console project
Screenshot of Visual Studio Code run command

Limitations on Linux or macOS

You can use the full functionality of GemBox.Presentation on Unix systems, but with the following exceptions:

These features currently have WPF dependencies which means they require a .NET Windows Desktop Runtime. However, we do have plans for providing cross-platform support for them in future releases.

Want more?

Next example GitHub

Check the next example or select an example from the menu. You can also download our examples from the GitHub.

Like it?

Download Buy

If you want to try the GemBox.Presentation yourself, you can download the free version. It delivers the same performance and set of features as the professional version, but with some operations limited. To remove the limitation, you need to purchase a license.