Converting PowerPoint to PDF Using C# Without Office Dependencies

Converting PowerPoint presentations to PDF format is a common requirement in document processing workflows. This guide demonstrates how to perform this conversion programmatically using C# without requiring Microsoft Office insstallation.

1. Required NuGet Package

To get started, install the Spire.Presentation library via NuGet Package Manager:

// Package Manager Console command
Install-Package Spire.Presentation

2. Basic Conversion Example

This example shows how to convert a single PowerPoint file to PDF:

using Spire.Presentation;

public class Converter
{
    public void ConvertSingleFile(string inputPath, string outputPath)
    {
        using (var presentation = new Presentation())
        {
            presentation.LoadFromFile(inputPath);
            presentation.SaveToFile(outputPath, FileFormat.PDF);
        }
    }
}

3. Processing Multiple Files

For batch processing multiple PowerPoint files:

using System.IO;
using Spire.Presentation;

public class BatchConverter
{
    public void ConvertFolder(string sourceFolder, string targetFolder)
    {
        Directory.CreateDirectory(targetFolder);
        
        foreach (var file in Directory.GetFiles(sourceFolder, "*.pp*"))
        {
            var outputFile = Path.Combine(
                targetFolder,
                Path.GetFileNameWithoutExtension(file) + ".pdf"
            );
            
            using (var ppt = new Presentation())
            {
                ppt.LoadFromFile(file);
                ppt.SaveToFile(outputFile, FileFormat.PDF);
            }
        }
    }
}

4. PDF Security Options

Adding password protection to the output PDF:

using Spire.Presentation;
using Spire.Presentation.External.Pdf;

public class SecureConverter
{
    public void ConvertWithProtection(string inputFile, string outputFile)
    {
        using (var ppt = new Presentation())
        {
            ppt.LoadFromFile(inputFile);
            
            var options = ppt.SaveToPdfOption;
            options.PdfSecurity.Encrypt(
                "userPassword", 
                "ownerPassword",
                PdfPermissionsFlags.Print,
                PdfEncryptionKeySize.Key128Bit
            );
            
            ppt.SaveToFile(outputFile, FileFormat.PDF);
        }
    }
}

Important Considerations

  • Ensure proper file system permissions for input/output loactions
  • Complex PowerPoint elements may not convert perfectly
  • Always dispose Presentation objects properly

Tags: C# PDF PowerPoint Spire.Presentation document-conversion

Posted on Wed, 13 May 2026 11:03:24 +0000 by AQHost