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