PPT-WERKZEUGE

Wie man mit C# PowerPoint in Bilder umwandelt

Regan Pun
Regan Pun
12. März 2024
Teilen Sie:

Einführung

Die Notwendigkeit, PowerPoint-Präsentationen in Bildformate umzuwandeln, 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 für die Erstellung von Vorschauen, Miniaturansichten oder die Systemintegration. In diesem Artikel wird erklärt, wie man diesen Vorgang mit C# ppt to image durchführen kann, und es werden einige Beispielcodes aufgeführt, die Ihnen dabei helfen.

Verwendung von C# zum Konvertieren von PowerPoint in Bilder

  1. Erstellen Sie eine PowerPoint-Anwendungsinstanz.

  2. Öffnen Sie die Präsentation über die Instanz.

  3. Prüfen und erstellen Sie einen Ausgabeordner.

  4. Iterieren Sie durch Folien und exportieren Sie Folien in Bilder.

  5. Schließen Sie die Präsentation und beenden Sie die Anwendung.

PowerPoint-Präsentation in Bildformate konvertieren?

Werfen wir einen kurzen Blick auf die Bedeutung der Konvertierung von PowerPoint-Folien in Fotos, bevor wir auf die Einzelheiten eingehen. Auch wenn PowerPoint ein großartiges Werkzeug zur Erstellung dynamischer Präsentationen ist, ist es nicht immer möglich, diese Dateien in ihrem ursprünglichen Format weiterzugeben. Manchmal werden nur bestimmte Folien oder Fotos aus der Präsentation benötigt, und in anderen Fällen erlauben verschiedene Systeme und Einstellungen möglicherweise keine direkte Wiedergabe von PowerPoint-Dateien. Durch die Umwandlung von PowerPoint-Präsentationen in Bilder wird eine allumfassende Lösung geboten, die sich einfach teilen und auf einer Vielzahl von Geräten und Anwendungen anzeigen lässt.

Verwendung der PowerPoint Interop Library

Es gibt mehrere Methoden, um PowerPoint-Präsentationen in C# in Fotos umzuwandeln. Die Verwendung des Microsoft.Office.Interop.PowerPoint-Namespaces, der Klassen und Methoden für die programmatische Schnittstelle mit PowerPoint-Anwendungen bietet, ist ein beliebter Ansatz. Dies bietet umfangreiche Möglichkeiten für die Arbeit mit PowerPoint-Dateien.

Erstellen Sie ein neues Visual Studio-Projekt

Führen Sie die folgenden Schritte aus, 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.

Ein neues Projekt starten:

Wählen Sie Datei, Neu, und schließlich Projekt.

Wie man C# verwendet, um PowerPoint in ein Bild zu konvertieren: Abbildung 1 - Öffnen Sie Visual Studio und wählen Sie Datei - Neu - Projekt.

Wählen Sie im Feld "Erstellen Sie ein neues Projekt" auf der linken Seite Ihre bevorzugte Programmiersprache (z. B. C#) aus.

Wählen Sie als Nächstes die Vorlage "Console App" oder "Console App (.NET Core)" aus der Liste der verfügbaren Projektvorlagen aus.

Bitte füllen Sie den Abschnitt "Name" aus, um Ihrem Projekt einen Namen zu geben.

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

Wählen Sie den Speicherort für das Projekt.

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

Anleitung zur Verwendung von C# zur Umwandlung von PowerPoint in Bilder: Abbildung 3 - Wählen Sie das entsprechende .NET Framework aus und klicken Sie auf die Schaltfläche Erstellen.

Konvertieren von PowerPoint-Folien in Bilder in C#;

Beginnen wir mit der Verwendung des Microsoft.Office.Interop.PowerPoint-Namensraums, um PowerPoint-Folien in Bilder zu konvertieren. Stellen Sie sicher, dass die erforderlichen Assemblies installiert und Ihrem C#-Projekt zuerst als Referenzen hinzugefügt werden. Diese Assemblies werden normalerweise gefunden, indem man direkt auf die InterOp-Assemblies verweist oder indem man die Microsoft Office Primary Interop Assemblies (PIA) installiert.

Code-Beispiel

using System.IO;
using Microsoft.Office.Interop.PowerPoint;
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);
    }
    static void ConvertPptToImages(string pptFilePath, string outputFolder)
    {
        Application pptApplication = new Application();
        Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
        if (!Directory.Exists(outputFolder))
            Directory.CreateDirectory(outputFolder);
        int slidesCount = pptPresentation.Slides.Count;
        for (int i = 1; i <= slidesCount; i++)
        {
            string outputPath = Path.Combine(outputFolder, $"Slide{i}.png");
            pptPresentation.Slides[i].Export(outputPath, "png", 1024, 768);
        //saving the presentation slides into png images
        }
        pptPresentation.Close();
        pptApplication.Quit();
    }
}
using System.IO;
using Microsoft.Office.Interop.PowerPoint;
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);
    }
    static void ConvertPptToImages(string pptFilePath, string outputFolder)
    {
        Application pptApplication = new Application();
        Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
        if (!Directory.Exists(outputFolder))
            Directory.CreateDirectory(outputFolder);
        int slidesCount = pptPresentation.Slides.Count;
        for (int i = 1; i <= slidesCount; i++)
        {
            string outputPath = Path.Combine(outputFolder, $"Slide{i}.png");
            pptPresentation.Slides[i].Export(outputPath, "png", 1024, 768);
        //saving the presentation slides into png images
        }
        pptPresentation.Close();
        pptApplication.Quit();
    }
}
Imports System.IO
Imports Microsoft.Office.Interop.PowerPoint
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)
	End Sub
	Private Shared Sub ConvertPptToImages(ByVal pptFilePath As String, ByVal outputFolder As String)
		Dim pptApplication As New Application()
		Dim pptPresentation As Presentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse)
		If Not Directory.Exists(outputFolder) Then
			Directory.CreateDirectory(outputFolder)
		End If
		Dim slidesCount As Integer = pptPresentation.Slides.Count
		For i As Integer = 1 To slidesCount
			Dim outputPath As String = Path.Combine(outputFolder, $"Slide{i}.png")
			pptPresentation.Slides(i).Export(outputPath, "png", 1024, 768)
		'saving the presentation slides into png images
		Next i
		pptPresentation.Close()
		pptApplication.Quit()
	End Sub
End Class
$vbLabelText   $csharpLabel

Der für die Arbeit mit PowerPoint-Anwendungen benötigte C#-Namespace wird durch die Deklaration Microsoft.Office.Interop.PowerPoint; importiert. Der Einstiegspunkt des Programms ist die Main-Methode. Es bezeichnet den Ausgabefolder (outputFolder), in dem die erstellten Fotos aufbewahrt werden, sowie den Pfad zur PowerPoint-Datei (pptFilePath). Die eigentliche Umwandlung von PowerPoint-Präsentationen in Fotos wird mit dieser Methode durchgeführt.

PowerPoint-Präsentationsdatei

Verwendung von C# zur Umwandlung von PowerPoint in ein Bild: Abbildung 4 - PowerPoint ppt, das für das Code-Beispiel verwendet wird.

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

Konsolenausgabe

Wie man C# verwendet, um PowerPoint in ein Bild zu konvertieren: Abbildung 5 - Konsolenausgabe.

Wir verwenden eine for-Schleife, um die einzelnen Folien der Präsentation zu durchlaufen. Das pptPresentation liefert die Gesamtanzahl der Folien mithilfe der Eigenschaft Slides.Count. Wir verwenden den Ausgabeverzeichnispfad und den Folienindex, um den Ausgabepfad für das Bild jeder Folie zu erstellen (als Slides{i}.png). Als Nächstes verwenden wir pptPresentation, um die PowerPoint-Folie als Bild zu exportieren (in diesem Beispiel im JPG-Bild- oder PNG-Bildformat) mithilfe der Export()-Funktion. Die Parameter sind das Bildformat („png“-Format) und die Größe (Breite: 1024, Höhe: 768). Zuletzt verwenden wir pptPresentation, um die Präsentation zu beenden. Schließen Sie und verwenden Sie pptApplication, um die PowerPoint-Sitzung zu beenden. Um Systemressourcen angemessen freizugeben, verwenden Sie Quit().

Ausgabe - Konvertieren einer PowerPoint-Datei in PNG-Bilder

So verwenden Sie C#, um PowerPoint in ein Bild zu konvertieren: Abbildung 6 - Exportierte PowerPoint-Folien als PNG-Bilder.

IronXL

Ein beliebtes .NET-Framework namens IronXL erleichtert die Bearbeitung von Excel-Dateien in C#. Mit seinen umfangreichen Funktionen zum Lesen, Erstellen und Bearbeiten von Excel-Dateien ist es ein flexibles Tool, das sich für eine breite Palette von Anwendungen eignet. Im Folgenden gehe ich auf einige der wichtigsten Funktionen von IronXL ein:

  • Entwickler können schnell Daten in neue oder bestehende Excel-Dateien schreiben und Daten aus bestehenden Excel-Dateien lesen, indem sie IronXL verwenden. Dies umfasst den Zugriff auf Arbeitsblatt- und Arbeitsmappenattribute wie Formatierung, Formeln und Zellwerte.
  • Mit IronXL können Entwickler Daten aus einer Vielzahl von Quellen, einschließlich Datenbanken und CSV-Dateien, in Excel-Tabellen importieren. Ebenso können Informationen aus Excel-Dateien u. a. in die Formate CSV, HTML, XML und PDF exportiert werden.
  • Entwickler können mit IronXL dynamisch Arbeitsblätter aus Excel-Tabellen hinzufügen, bearbeiten und entfernen. Dies ermöglicht eine flexible Datenorganisation und -struktur je nach den Anforderungen der Anwendung.
  • IronXL ermöglicht es, einzelne Zellen in Excel-Tabellen präzise zu bearbeiten. Programmatisch können die Entwickler Formatierungen, Stile, Formeln, Zellwerte und andere Merkmale festlegen.

    Um mehr über die Dokumentation zu erfahren, beziehen Sie sich auf die IronXL-Dokumentation.

IronXL installieren

Beginnen wir mit der Installation von IronXL über die NuGet Package Manager Console, bevor wir fortfahren:

Install-Package IronXL.Excel

Nach der Installation kann IronXL in unserem C#-Projekt verwendet werden.

Verwendung von IronXL für Excel-Operationen

Betrachten wir eine hypothetische Situation, in der wir IronXL verwenden möchten, um Daten aus einer Excel-Datei zu lesen.

Das folgende Codebeispiel veranschaulicht kurz, wie dies zu bewerkstelligen ist:

using IronXL;
using System;
class Program
{
    static void Main(string [] args)
    {
        // Path to the Excel file
        string excelFilePath = "sample.xlsx";
        // Load the Excel file
        WorkBook workbook = WorkBook.Load(excelFilePath);
        // Access the first worksheet
        WorkSheet worksheet = workbook.WorkSheets[0];
        // Iterate through rows and columns to read data
        foreach (var row in worksheet.Rows)
        {
            foreach (var cell in row)
            {
                Console.Write(cell.Value + "\t");
            }
            Console.WriteLine();
        }
    }
}
using IronXL;
using System;
class Program
{
    static void Main(string [] args)
    {
        // Path to the Excel file
        string excelFilePath = "sample.xlsx";
        // Load the Excel file
        WorkBook workbook = WorkBook.Load(excelFilePath);
        // Access the first worksheet
        WorkSheet worksheet = workbook.WorkSheets[0];
        // Iterate through rows and columns to read data
        foreach (var row in worksheet.Rows)
        {
            foreach (var cell in row)
            {
                Console.Write(cell.Value + "\t");
            }
            Console.WriteLine();
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronXL
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Path to the Excel file
		Dim excelFilePath As String = "sample.xlsx"
		' Load the Excel file
		Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
		' Access the first worksheet
		Dim worksheet As WorkSheet = workbook.WorkSheets(0)
		' Iterate through rows and columns to read data
		For Each row In worksheet.Rows
			For Each cell In row
				Console.Write(cell.Value & vbTab)
			Next cell
			Console.WriteLine()
		Next row
	End Sub
End Class
$vbLabelText   $csharpLabel

Zunächst fügen wir die erforderlichen Namespaces ein. Die Klassen und Methoden, die von der IronXL-Bibliothek angeboten werden, sind im IronXL-Namespace enthalten. Der Pfad zur Excel-Datei, die wir lesen möchten (sample.xlsx), ist angegeben. WorkBook wird verwendet, um die Excel-Datei zu laden. Die Excel-Arbeitsmappe wird durch ein WorkBook-Objekt dargestellt, das von der Load()-Funktion zurückgegeben wird. Mit dem Arbeitsbuch können wir auf das erste Arbeitsblatt zugreifen, indem wir workbook.WorkSheets[0] verwenden. Mit verschachtelten foreach-Schleifen werden die Zeilen und Spalten des Arbeitsblatts durchlaufen. Wir geben den Wert jeder Zelle auf der Konsole aus.

Verwendung von C# zur Konvertierung von PowerPoint in ein Bild: Abbildung 7 - Konsolenausgabe.

Um mehr über den Code zu erfahren, besuchen Sie IronXL Read Excel Examples.

Schlussfolgerung

In vielen Softwareanwendungen ist es erforderlich, PowerPoint-Präsentationen mit C# in Fotos zu konvertieren. Ob Sie den Microsoft.Office.Interop.PowerPoint-Namensraum verwenden oder nicht, das Verfahren kann relativ schnell abgeschlossen werden. Die Codebeispiele in diesem Artikel helfen Ihnen dabei, die Konvertierung von PowerPoint in Bilder in Ihre C#-Anwendungen zu integrieren und so eine Fülle von Möglichkeiten für die Informationsverteilung und -änderung zu schaffen.

Ohne dass Excel auf dem Zielrechner installiert sein muss oder von der Interop-Bibliothek abhängig zu sein, bietet IronXL eine schnelle und effektive Möglichkeit, Excel-Operationen in C# auszuführen. Entwickler, die IronXL für den Umgang mit Excel-Daten in ihren C#-Anwendungen verwenden, werden es als nützlich empfinden, da es mit seiner benutzerfreundlichen API und seinem umfangreichen Funktionsumfang Vorgänge wie das Lesen, Schreiben und Ändern von Excel-Dateien rationalisiert. IronXL bietet eine zuverlässige Lösung, die die Effizienz und Anpassungsfähigkeit in Excel-bezogenen Entwicklungsprojekten erhöht, unabhängig davon, ob Sie Berichte erstellen, Daten verarbeiten oder Tabellenkalkulationsaufgaben automatisieren.

Eine kostenlose Testversion von IronXL ist verfügbar, die umfangreiche Funktionen und Unterstützung beinhaltet. Besuchen Sie die IronXL-Lizenzierungsinformationen für umfassende und aktuelle Informationen über die Lizenzierung. Besuchen Sie die Iron Software-Website, um mehr über Iron Software-Produkte zu erfahren.

Regan Pun
Software-Ingenieur
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.
< PREVIOUS
Wie man C# verwendet, um eine PowerPoint-Präsentation zu erstellen

Sind Sie bereit, loszulegen? Version: 2025.3 gerade veröffentlicht

Lizenzen anzeigen >