Zum Fußzeileninhalt springen
PPT-TOOLS

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.

role="alert"> Einführung von IronPPT: Die .NET PowerPoint-Bibliothek von Iron Software
IronPPT lädt und speichert nahtlos PPTX-Dateien - kein Microsoft Office erforderlich. Perfekt zum Automatisieren von Folien, Texten, Formen und Bildern in jeder .NET-Anwendung. Jetzt mit IronPPT loslegen!

Wie man PowerPoint mit C# in ein Bild umwandelt

  1. Erstellen Sie eine Instanz der PowerPoint-Anwendung.
  2. Öffnen Sie die Präsentation mit der Instanz.
  3. Überprüfen und Erstellen Sie einen Ausgabefolder.
  4. Gehen Sie durch die Folien und exportieren Sie sie in Bilder.
  5. 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.

Wie man PowerPoint mit C# in ein Bild umwandelt: Abbildung 1 - Visual Studio öffnen und Datei - Neu - Projekt auswählen.

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.

Wie man PowerPoint mit C# in ein Bild umwandelt: Abbildung 2 - Wählen Sie im Feld Neues Projekt erstellen die Programmiersprache C# und Konsolenanwendung. Konfigurieren Sie den Projektnamen und den Speicherort und klicken Sie dann auf die Schaltfläche „Weiter“.

Wählen Sie den Speicherort des Projekts.

Klicken Sie auf „Erstellen“, um mit der Arbeit an einem neuen Konsolenanwendungsprojekt zu beginnen.

Wie man PowerPoint mit C# in ein Bild umwandelt: Abbildung 3 - Wählen Sie das entsprechende .NET Framework und klicken Sie auf die Schaltfläche „Erstellen“.

PowerPoint-Folien mit C# in Bilder umwandeln

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
$vbLabelText   $csharpLabel

Der C# Namespace, der benötigt wird, um mit PowerPoint-Anwendungen zu arbeiten, wird durch die Deklaration Microsoft.Office.Interop.PowerPoint; importiert. Der Eintrittspunkt des Programms ist die Main-Methode. Es weist den Ausgabefolder (outputFolder) zu, in dem die erstellten Fotos gespeichert werden, sowie den Pfad zur PowerPoint-Datei (pptFilePath). Die eigentliche Umwandlung von PowerPoint-Präsentationen in Bilder wird von dieser Methode behandelt.

PowerPoint-Präsentationsdatei

Wie man PowerPoint mit C# in ein Bild umwandelt: Abbildung 4 – PowerPoint ppt, die für das Codebeispiel verwendet wird.

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

Konsolenausgabe

Wie man PowerPoint mit C# in ein Bild umwandelt: Abbildung 5 - Konsolenausgabe.

Wir verwenden eine Schleife, um jede Folie in der Präsentation durchzugehen. Das pptPresentation bietet die Gesamtanzahl der Folien über die Eigenschaft Slides.Count an. Wir verwenden den Pfad des Ausgabefolders und den Folienindex, um den Ausgabepfad für das Bild jeder Folie zu erstellen (als Slide{i}.png). Als Nächstes verwenden wir pptPresentation, um die PowerPoint-Folie als Bild (in diesem Beispiel im PNG-Bildformat) mithilfe der Export()-Funktion zu exportieren. 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 die Systemressourcen angemessen wieder freizugeben, verwenden Sie Quit().

Ausgabe - Eine PowerPoint in PNG-Bilder umwandeln

Wie man PowerPoint mit C# in ein Bild umwandelt: Abbildung 6 - Exportierte PowerPoint-Folien zu PNG-Bildern Ausgabe.

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

  • PowerPoint-Verarbeitung ohne Office: Laden, Bearbeiten oder Erstellen von .pptx (und .ppt)-Dateien auf jeder .NET-Plattform—Windows, macOS, Linux, Docker oder Azure—ohne installiertes PowerPoint.
  • Steuerung von Folientypen und Layouts, einschließlich Größe, Ausrichtung, Hintergrund und Master-Layouts.
  • Unterstützung von reichhaltigem Inhalt: Text hinzufügen und stilisieren (Schriftart, Größe, Farbe, Ausrichtung), Formen zeichnen, Bilder einfügen und Diagramme oder Tabellen konfigurieren—alles mit einer fließenden API.
  • Hochwertiger Bildexport: Jede Slide kann als PNG oder JPEG mit benutzerdefinierten Auflösungen mithilfe der Save()- oder Export()-Methoden 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 Thread-freundlich: Ideal für Hintergrunddienste, Web-APIs oder CI/CD-Workloads.

IronPPT installieren

Fügen Sie das NuGet-Paket Ihrem Projekt über eine der folgenden Optionen hinzu:

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
$vbLabelText   $csharpLabel

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"
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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.

Visit the IronPPT API Reference or view the detailed code examples (including their llms.txt index) to explore more capabilities. Ein kostenloser Test ist verfügbar—probieren Sie es aus und fügen Sie PowerPoint-zu-Bild-Konvertierungen heute Ihrer .NET-Werkzeugpalette hinzu!

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen