Wie man C# verwendet, um PowerPoint in Bilder umzuwandeln
Die Notwendigkeit, PowerPoint-Präsentationen in Bildformate zu konvertieren, tritt häufig im Bereich der Softwareentwicklung auf. Viele Entwickler finden es nützlich, PowerPoint-Dateien programmatisch in Fotos umwandeln zu können, sei es zur Erstellung von Vorschauen, zur Erstellung von Thumbnails oder zur Integration in Systeme. Dieser Artikel erklärt, wie man diese Operation mit C# ppt zu Bild durchführt und enthält einige Beispielcodes, die Ihnen auf dem Weg helfen.
IronPPT lädt und speichert nahtlos PPTX-Dateien - kein Microsoft Office erforderlich. Perfekt für die Automatisierung von Folien, Text, Formen und Bildern in jeder .NET-Anwendung. Starten Sie jetzt mit IronPPT!
Wie man PowerPoint mit C# in ein Bild umwandelt
- Erstellen Sie eine Instanz der PowerPoint-Anwendung.
- Öffnen Sie die Präsentation mit der Instanz.
- Überprüfen und Erstellen Sie einen Ausgabefolder.
- Gehen Sie durch die Folien und exportieren Sie sie in Bilder.
- Schließen Sie die Präsentation und beenden Sie die Anwendung.
PowerPoint-Präsentation in Bildformate umwandeln?
Werfen wir einen kurzen Blick auf die Bedeutung der Umwandlung von PowerPoint-Folien in Fotos, bevor wir ins Detail gehen. Auch wenn PowerPoint ein großartiges Werkzeug für die Erstellung dynamischer Präsentationen ist, ist es nicht immer möglich, diese Dateien im Originalformat zu teilen. Manchmal werden nur bestimmte Folien oder Fotos aus der Präsentation benötigt, und manchmal ermöglichen verschiedene Systeme und Einstellungen keine direkte Wiedergabe von PowerPoint-Dateien. Eine umfassende Lösung, die einfach zu teilen und auf einer Vielzahl von Geräten und Anwendungen anzusehen ist, wird durch die Umwandlung von PowerPoint-Präsentationen in Bilder bereitgestellt.
Verwendung der PowerPoint Interop-Bibliothek
Es gibt verschiedene Methoden, um PowerPoint-Präsentationen in C# in Bilder umzuwandeln. Die Verwendung des Microsoft.Office.Interop.PowerPoint Namespace, der Klassen und Methoden für die programmatische Interaktion mit PowerPoint-Anwendungen anbietet, ist ein beliebter Ansatz. Dies bietet umfangreiche Funktionen für die Arbeit mit PowerPoint-Dateien.
Ein neues Visual Studio-Projekt erstellen
Folgen Sie den untenstehenden Schritten, um ein neues Visual Studio-Projekt zu erstellen:
Öffnen Sie die Visual Studio IDE. Stellen Sie sicher, dass Sie Visual Studio auf Ihrem PC installiert haben, bevor Sie es verwenden.
Starten Sie ein neues Projekt:
Wählen Sie Datei, Neu und schließlich Projekt aus.

Wählen Sie im Kästchen "Neues Projekt erstellen" Ihre bevorzugte Programmiersprache (z. B. C#) von der linken Seite aus.
Wählen Sie als nächstes die Vorlage "Konsolenanwendung" oder "Konsolenanwendung (.NET Core)" aus der Liste der verfügbaren Projekttemplates aus.
Bitte füllen Sie den Abschnitt "Name" aus, um Ihrem Projekt einen Namen zu geben.

Wählen Sie den Speicherort des Projekts.
Klicken Sie auf "Erstellen", um mit der Arbeit an einem neuen Konsolenanwendungsprojekt zu beginnen.

Convert PowerPoint Slides to Images in C
Beginnen wir damit, wie man den Microsoft.Office.Interop.PowerPoint Namespace verwendet, um PowerPoint-Folien in Bilder umzuwandeln. Stellen Sie sicher, dass die benötigten Assemblies installiert und Ihrem C#-Projekt als Referenzen hinzugefügt werden. Diese Assemblies finden sich üblicherweise, indem man direkt auf die InterOp-Assemblies verweist oder indem man die Microsoft Office Primary Interop Assemblies (PIA) installiert.
Code-Beispiel
using System.IO; // Import System.IO namespace for file handling
using Microsoft.Office.Interop.PowerPoint; // Import Interop PowerPoint namespace
class Program
{
static void Main(string[] args)
{
string pptFilePath = "demo.pptx"; // Path to your PowerPoint file
string outputFolder = "output_images"; // Output folder path where images will be saved
ConvertPptToImages(pptFilePath, outputFolder); // Convert PowerPoint slides to images
}
static void ConvertPptToImages(string pptFilePath, string outputFolder)
{
Application pptApplication = new Application(); // Create a new PowerPoint application instance
Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse); // Open the PowerPoint presentation
if (!Directory.Exists(outputFolder)) // Check if the output folder exists
Directory.CreateDirectory(outputFolder); // Create the output folder if it doesn't exist
int slidesCount = pptPresentation.Slides.Count; // Get the number of slides in the presentation
for (int i = 1; i <= slidesCount; i++) // Iterate through all slides
{
string outputPath = Path.Combine(outputFolder, $"Slide{i}.png"); // Set the output path for the current slide
pptPresentation.Slides[i].Export(outputPath, "png", 1024, 768); // Export slide to PNG format
}
pptPresentation.Close(); // Close the PowerPoint presentation
pptApplication.Quit(); // Quit the PowerPoint application
}
}
using System.IO; // Import System.IO namespace for file handling
using Microsoft.Office.Interop.PowerPoint; // Import Interop PowerPoint namespace
class Program
{
static void Main(string[] args)
{
string pptFilePath = "demo.pptx"; // Path to your PowerPoint file
string outputFolder = "output_images"; // Output folder path where images will be saved
ConvertPptToImages(pptFilePath, outputFolder); // Convert PowerPoint slides to images
}
static void ConvertPptToImages(string pptFilePath, string outputFolder)
{
Application pptApplication = new Application(); // Create a new PowerPoint application instance
Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse); // Open the PowerPoint presentation
if (!Directory.Exists(outputFolder)) // Check if the output folder exists
Directory.CreateDirectory(outputFolder); // Create the output folder if it doesn't exist
int slidesCount = pptPresentation.Slides.Count; // Get the number of slides in the presentation
for (int i = 1; i <= slidesCount; i++) // Iterate through all slides
{
string outputPath = Path.Combine(outputFolder, $"Slide{i}.png"); // Set the output path for the current slide
pptPresentation.Slides[i].Export(outputPath, "png", 1024, 768); // Export slide to PNG format
}
pptPresentation.Close(); // Close the PowerPoint presentation
pptApplication.Quit(); // Quit the PowerPoint application
}
}
Imports System.IO ' Import System.IO namespace for file handling
Imports Microsoft.Office.Interop.PowerPoint ' Import Interop PowerPoint namespace
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim pptFilePath As String = "demo.pptx" ' Path to your PowerPoint file
Dim outputFolder As String = "output_images" ' Output folder path where images will be saved
ConvertPptToImages(pptFilePath, outputFolder) ' Convert PowerPoint slides to images
End Sub
Private Shared Sub ConvertPptToImages(ByVal pptFilePath As String, ByVal outputFolder As String)
Dim pptApplication As New Application() ' Create a new PowerPoint application instance
Dim pptPresentation As Presentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse) ' Open the PowerPoint presentation
If Not Directory.Exists(outputFolder) Then ' Check if the output folder exists
Directory.CreateDirectory(outputFolder) ' Create the output folder if it doesn't exist
End If
Dim slidesCount As Integer = pptPresentation.Slides.Count ' Get the number of slides in the presentation
For i As Integer = 1 To slidesCount ' Iterate through all slides
Dim outputPath As String = Path.Combine(outputFolder, $"Slide{i}.png") ' Set the output path for the current slide
pptPresentation.Slides(i).Export(outputPath, "png", 1024, 768) ' Export slide to PNG format
Next i
pptPresentation.Close() ' Close the PowerPoint presentation
pptApplication.Quit() ' Quit the PowerPoint application
End Sub
End Class
Der für die Arbeit mit PowerPoint-Apps benötigte C#-Namespace wird durch die Deklaration Microsoft.Office.Interop.PowerPoint; importiert. Der Einstiegspunkt des Programms ist die Methode Main. Es bezeichnet den Ausgabeordner (outputFolder), in dem die erstellten Fotos gespeichert werden, und den Pfad zur PowerPoint-Datei (pptFilePath). Die eigentliche Umwandlung von PowerPoint-Präsentationen in Bilder wird von dieser Methode behandelt.
PowerPoint-Präsentationsdatei

Mit dem Code Application pptApplication = new Application(); wird eine neue Instanz des PowerPoint-Programms gestartet. Dies ermöglicht die programmgesteuerte Interaktion mit PowerPoint. Mit der Funktion pptApplication.Presentations öffnen wir die PowerPoint-Präsentationsdatei, die durch die Funktion pptFilePath.Open() angegeben wird. Diese Funktion gibt ein Präsentationsobjekt zurück, das die geöffnete Präsentation darstellt. Wir prüfen, ob der Ausgabeordner "outputFolder" vorhanden ist. Falls nicht, verwenden wir die Methode Directory.CreateDirectory(), um es zu erstellen.
Konsolenausgabe

Wir verwenden eine Schleife, um jede Folie in der Präsentation durchzugehen. Der Code pptPresentation gibt die Gesamtzahl der Folien unter Verwendung der Eigenschaft Slides.Count an. Wir verwenden den Ausgabeverzeichnispfad und den Folienindex, um den Ausgabeverzeichnispfad für jedes Folienbild zu erstellen (als Slide{i}.png). Als nächstes verwenden wir pptPresentation, um die PowerPoint-Folie als Bild zu exportieren (in diesem Beispiel im PNG-Bildformat) mithilfe der Funktion Export(). Die Parameter sind das Bildformat ("png"-Format) und die Größe (Breite: 1024, Höhe: 768). Zum Schluss verwenden wir pptPresentation.Close(), um die Präsentation zu beenden, und pptApplication.Quit(), um die PowerPoint-Sitzung zu beenden. Um Systemressourcen ordnungsgemäß freizugeben, verwenden Sie Quit().
Ausgabe - Eine PowerPoint in PNG-Bilder umwandeln

IronPPT
IronPPT ist die dedizierte .NET-Bibliothek von Iron Software zur Arbeit mit PowerPoint (PPT/PPTX)-Dateien mit C# oder VB.NET—ohne Microsoft Office oder Office Interop-Komponenten zu benötigen.
Wichtige Merkmale
- Office-freie PowerPoint-Verarbeitung: Laden, bearbeiten oder erstellen Sie
.pptx(und.ppt) Dateien auf jeder .NET Plattform – Windows, macOS, Linux, Docker oder Azure – ohne dass PowerPoint installiert sein muss. - Steuerung von Folientypen und Layouts, einschließlich Größe, Ausrichtung, Hintergrund und Master-Layouts.
- Unterstützung für umfangreiche Inhalte: Text hinzufügen und formatieren (Schriftart, Größe, Farbe, Ausrichtung), Formen zeichnen, Bilder einfügen und Diagramme oder Tabellen konfigurieren – alles mit einer intuitiven API.
- Export von hochauflösenden Bildern: Jedes
Slidekann als PNG oder JPEG in benutzerdefinierten Auflösungen mit den MethodenSave()oderExport()gespeichert werden (z. B.presentation.Save("Slide1.png", width:1200, height:800)). - Mehrere .NET-Versionen werden unterstützt: .NET Framework 4.6.2+, .NET Core 3.1, .NET 5–9 und .NET 6/7/8 in Azure- oder Container-Umgebungen.
- Serversicher und threadfreundlich: ideal für Hintergrunddienste, Web-APIs oder CI/CD-Workloads.
IronPPT installieren
Fügen Sie das NuGet-Paket Ihrem Projekt hinzu, entweder über:
Install-Package IronPPT
oder über die NuGet-Paketverwaltung-GUI von Visual Studio (Suche nach "IronPPT"). Nach der Installation importieren Sie es, indem Sie hinzufügen:
using IronPPT;
using IronPPT;
Imports IronPPT
Um alle Funktionen freizuschalten, setzen Sie Ihren Lizenzschlüssel oder nutzen Sie den kostenlosen 30-Tage-Testschlüssel:
IronPPT.License.LicenseKey = "YOUR_LICENSE_KEY";
IronPPT.License.LicenseKey = "YOUR_LICENSE_KEY";
IronPPT.License.LicenseKey = "YOUR_LICENSE_KEY"
PowerPoint-Folien mit IronPPT in Bilder umwandeln
Mit IronPPT ist das Konvertieren von Folien in Bilder einfach und prägnant. Hier ist ein idiomatisches C#-Beispiel, das zeigt, wie es geht:
using IronPPT;
using System.IO;
// Optional: apply the license key
// IronPPT.License.LicenseKey = "YOUR_LICENSE_KEY";
var presentation = PresentationDocument.Load("input.pptx");
if (!Directory.Exists("images"))
Directory.CreateDirectory("images");
for (int i = 0; i < presentation.Slides.Count; i++)
{
var slide = presentation.Slides[i];
string filePath = Path.Combine("images", $"slide{i+1}.png");
slide.SaveAsImage(filePath, width: 1024, height: 768);
}
presentation.Close();
using IronPPT;
using System.IO;
// Optional: apply the license key
// IronPPT.License.LicenseKey = "YOUR_LICENSE_KEY";
var presentation = PresentationDocument.Load("input.pptx");
if (!Directory.Exists("images"))
Directory.CreateDirectory("images");
for (int i = 0; i < presentation.Slides.Count; i++)
{
var slide = presentation.Slides[i];
string filePath = Path.Combine("images", $"slide{i+1}.png");
slide.SaveAsImage(filePath, width: 1024, height: 768);
}
presentation.Close();
Imports IronPPT
Imports System.IO
' Optional: apply the license key
' IronPPT.License.LicenseKey = "YOUR_LICENSE_KEY";
Private presentation = PresentationDocument.Load("input.pptx")
If Not Directory.Exists("images") Then
Directory.CreateDirectory("images")
End If
For i As Integer = 0 To presentation.Slides.Count - 1
Dim slide = presentation.Slides(i)
Dim filePath As String = Path.Combine("images", $"slide{i+1}.png")
slide.SaveAsImage(filePath, width:= 1024, height:= 768)
Next i
presentation.Close()
Dieser Ansatz vermeidet COM vollständig. IronPPT kümmert sich intern um Paginierung, Vektorskalierung und Bildwiedergabe—sodass Ihre Bilder dem Aussehen und der Haptik von PowerPoint entsprechen.
Für einen fortschrittlicheren Einsatz können Sie die Folienreihenfolge steuern, Vorlagen wiederverwenden, Tabellen oder Diagramme hinzufügen oder benutzerdefinierte SVG/Vektor-Bilder einfügen (siehe das detaillierte API-Referenz für die vollständige Klassen- und Methodenübersicht).
Abschluss
In vielen modernen .NET-Anwendungen ist die Umwandlung von PowerPoint-Präsentationen in Bilder essenziell—für Dokumentvorschauen, automatisierte Berichterstellung oder Downstream-Verarbeitung. Sie können die Microsoft Office Interop-Komponenten für diese Aufgabe verwenden, aber sie bringen viele Einschränkungen mit sich—Office-Installation, Stabilitätsprobleme, Lizenzierungsbedenken und Plattformbeschränkungen.
IronPPT bietet stattdessen eine vollumfängliche, leistungsstarke und plattformübergreifende API zur Umwandlung von .pptx-Dateien in Bilder—von Einzelfolien bis hin zu ganzen Präsentationen. Egal ob Sie in einem Desktop-Client, einer Web-API oder einer Headless-Serverumgebung arbeiten, IronPPT bietet die gleiche Qualität und Kontrolle ohne Office-Bedarf. Ersetzen Sie den auf Interop basierten Code oben mit IronPPT und beginnen Sie, PowerPoint-Vorschauen schneller, zuverlässiger und mit vollständiger .NET-Kontrolle zu erstellen.
Besuchen Sie die IronPPT API-Referenz oder sehen Sie sich die detaillierten Codebeispiele (einschließlich ihres llms.txt Index) an, um weitere Funktionen zu entdecken. Ein kostenloser Test ist verfügbar—probieren Sie es aus und fügen Sie PowerPoint-zu-Bild-Konvertierungen heute Ihrer .NET-Werkzeugpalette hinzu!


