IRONWORD VERWENDEN

Konvertieren von Word in PDF in C#

Veröffentlicht 13. November 2023
Teilen Sie:

Die programmgesteuerte Konvertierung von Dokumenten ist in vielen Anwendungen zu einer unverzichtbaren Funktion geworden. Besonders in der Geschäftswelt ist die Umwandlung von Word-Dokumenten in PDF-Dateien eine Routineaufgabe. Zum Glück können Sie mit C# und Microsoft Interop Word-Dateien nahtlos in PDF-Dateien umwandeln. In diesem Tutorial wird der Prozess der programmgesteuerten Konvertierung von Word in PDF mithilfe von C&num erläutert;

Voraussetzungen

Bevor Sie in den Code eintauchen, um dOCX in PDF konvertieren mit C#ist es von entscheidender Bedeutung, dass Sie die erforderliche Umgebung schaffen. Im Folgenden finden Sie die erforderlichen Voraussetzungen:

Microsoft Word-Installation

Stellen Sie sicher, dass Sie Microsoft Word auf Ihrem Computer installiert haben. Die Interop-Dienste nutzen die in Word integrierten Funktionen für die Konvertierung von Word-Dokumenten in PDF-Dateien.

Visual Studio

Eine Version von Visual Studio ist für die Erstellung, Kompilierung und Ausführung des C#-Programms erforderlich. Wenn Sie Visual Studio noch nicht haben, können Sie die kostenlose Community-Version herunterladen unter Offizielle Website von Microsoft.

Installieren Sie das Paket Microsoft.Office.Interop.Word

Dieses Paket ist unerlässlich, um die notwendigen Funktionen für Ihr C#-Programm zur Interaktion mit Word-Dokumenten bereitzustellen. Es wird später mit dem NuGet Package Manager installiert, aber es ist gut zu wissen, wie wichtig es für den Konvertierungsprozess ist.

Word-Dokument zur Konvertierung

Bereiten Sie ein Word-Dokument oder eine "docx"-Datei vor, die Sie konvertieren möchten. Stellen Sie sicher, dass Sie den Pfad auf Ihrem Rechner kennen, da Sie ihn im C#-Programm angeben müssen.

Ausreichende Berechtigungen

Stellen Sie sicher, dass Sie die Word-Datei lesen und die resultierende PDF-Datei in das gewünschte Verzeichnis schreiben können. Wenn Sie Visual Studio als Administrator ausführen, können Sie manchmal Probleme im Zusammenhang mit Berechtigungen lösen.

Mit diesen Voraussetzungen können Sie Ihre Umgebung einrichten und Ihre Word-Dokumente in PDF-Dateien umwandeln.

Einrichten der Umgebung

  1. Öffnen Sie Ihr Visual Studio.

  2. Erstellen Sie eine neue C#-Konsolenanwendung.

  3. Gehen Sie zu NuGet-Paketmanager > NuGet-Pakete für Lösung verwalten.

  4. Suchen Sie nach "Microsoft.Office.Interop.Word" und installieren Sie es. Dieses Paket wird es unserer Anwendung ermöglichen, mit Word zu kommunizieren und Word-Dateien zu konvertieren.

    Wie man Word in C# in PDF konvertiert: Abbildung 1 - Öffnen Sie Visual Studio und erstellen Sie ein neues Console App-Projekt. Gehen Sie zu NuGet Package Manager > Manage Packages for Solution. Suchen Sie nach Microsoft.Office.Interop.Word und installieren Sie es. Dieses Paket wird unserer Konsolenanwendung helfen, mit Word zu interagieren und auch Word-Dateien zu konvertieren.

Beispielcode zum Konvertieren von Word-Dokumenten in PDF

Um ein Word-Dokument mit C# in PDF zu konvertieren, werden wir die Möglichkeiten der Microsoft Interop-Dienste nutzen. Das folgende Codeschnipsel erfüllt diese Aufgabe, und es folgt eine ausführliche Erklärung.

using System;
using Word = Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        var wordApp = new Word.Application();
        var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");

        var outputPath = @"path_where_you_want_to_save_pdf.pdf";
        wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);

        wordDocument.Close();
        wordApp.Quit();

        Console.WriteLine("Word document converted to PDF successfully!");
    }
}
using System;
using Word = Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        var wordApp = new Word.Application();
        var wordDocument = wordApp.Documents.Open(@"path_to_your_word_file.docx");

        var outputPath = @"path_where_you_want_to_save_pdf.pdf";
        wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF);

        wordDocument.Close();
        wordApp.Quit();

        Console.WriteLine("Word document converted to PDF successfully!");
    }
}
Imports System
Imports Word = Microsoft.Office.Interop.Word

Friend Class Program
	Shared Sub Main()
		Dim wordApp = New Word.Application()
		Dim wordDocument = wordApp.Documents.Open("path_to_your_word_file.docx")

		Dim outputPath = "path_where_you_want_to_save_pdf.pdf"
		wordDocument.ExportAsFixedFormat(outputPath, Word.WdExportFormat.wdExportFormatPDF)

		wordDocument.Close()
		wordApp.Quit()

		Console.WriteLine("Word document converted to PDF successfully!")
	End Sub
End Class
VB   C#

Code Erläuterung

Der Anfang unseres Codes enthält zwei wichtige Namespaces. Der System-Namensraum stellt Klassen zur Verfügung, die für die C#-Programmierung grundlegend sind, und er ist ein Grundnahrungsmittel in fast allen C#

Die eigentliche Aktion beginnt innerhalb der Methode "Main". Zunächst erstellen wir eine neue Instanz der Word-Anwendung mit new Word.Application(). Dieser Schritt ist vergleichbar mit dem Start von MS Word, aber alles geschieht im Hintergrund, unbemerkt vom Benutzer. Sobald die Anwendungsinstanz initialisiert ist, weisen wir sie an, ein Word-Dokument mit der Methode wordApp.Documents.Open zu öffnen. Die Angabe des Pfads zu Ihrem Word-Dokument anstelle von "path_to_your_word_file.docx" ist entscheidend.

Nachdem wir das Dokument geöffnet haben, legen wir fest, wo die PDF-Datei gespeichert werden soll. Dieser wird in der Variablen "Ausgabepfad" angegeben. Es ist wichtig zu beachten, dass der Pfad an den Ort angepasst werden sollte, an dem die konvertierte PDF-Ausgabedatei gespeichert werden soll.

Die magische Umwandlung des Word-Dokuments in PDF geschieht mit der Zeile wordDocument.ExportAsFixedFormat(...). Die Interop-Dienste bieten eine integrierte Methode, die eine problemlose Konvertierung ermöglicht. Die Methode benötigt zwei Hauptargumente: den Pfad, in dem die PDF-Datei gespeichert werden soll, und das Exportformat, das in unserem Fall PDF ist.

Nach der Konvertierung ist es eine gute Praxis, die verwendeten Ressourcen zu schließen. Daher wird wordDocument.Close() sorgt dafür, dass das geöffnete Dokument nun geschlossen wird, während wordApp.Quit() sorgt dafür, dass die Instanz der Word-Anwendung, die wir im Hintergrund gestartet haben, beendet wird.

Zum Schluss teilt unser Programm dem Benutzer das Ergebnis in einer einfachen Konsolenmeldung mit. Die Funktion `Konsole.WriteLine()die Methode gibt eine Rückmeldung, dass der Konvertierungsprozess erfolgreich durchgeführt wurde.

Daher bietet "Microsoft.Office.Interop.Word" eine geeignete Lösung für die Bearbeitung und Konvertierung von Word-Dokumenten.

Einführung von IronXL Eine überlegene Alternative zu Interop

Während Microsoft.Office.Interop eine praktikable Lösung für die Konvertierung von Dokumenten bietet, gibt es eine effizientere und robustere Alternative für die Arbeit mit Excels: IronXL.

IronXL vereinfacht den Umgang mit Excel-Dateien in C#. Es übertrifft Interop nicht nur in Bezug auf Geschwindigkeit und Benutzerfreundlichkeit, sondern erfordert auch keine zusätzlichen Installationen wie Microsoft Office. Möchten Sie mehr darüber erfahren? Sehen Sie sich die ausführliche Anleitung auf wie man Excel-Dateien mit C# liest.

Die IronXL-Bibliothek kann mit dem folgenden Befehl in der NuGet Package Manager-Konsole installiert werden:

Install-Package IronWord

Wie man Word in C# in PDF konvertiert: Abbildung 2 - IronXL for .NET: Die C#-Excel-Bibliothek

Dateitypen für Tabellenkalkulationen konvertieren

using IronXL;
using System.IO;

// Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.tsv");
workBook.SaveAsCsv("sample.csv");
workBook.SaveAsJson("sample.json");
workBook.SaveAsXml("sample.xml");

// Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html");
string htmlString = workBook.ExportToHtmlString();

// Export the excel file as Binary, Byte array, Data set, Stream
byte [] binary = workBook.ToBinary();
byte [] byteArray = workBook.ToByteArray();
System.Data.DataSet dataSet = workBook.ToDataSet(); // Allow easy integration with DataGrids, SQL and EF
Stream stream = workBook.ToStream();
using IronXL;
using System.IO;

// Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.tsv");
workBook.SaveAsCsv("sample.csv");
workBook.SaveAsJson("sample.json");
workBook.SaveAsXml("sample.xml");

// Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html");
string htmlString = workBook.ExportToHtmlString();

// Export the excel file as Binary, Byte array, Data set, Stream
byte [] binary = workBook.ToBinary();
byte [] byteArray = workBook.ToByteArray();
System.Data.DataSet dataSet = workBook.ToDataSet(); // Allow easy integration with DataGrids, SQL and EF
Stream stream = workBook.ToStream();
Imports IronXL
Imports System.IO

' Import any XLSX, XLS, XLSM, XLTX, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Export the excel file as XLS, XLSX, XLSM, CSV, TSV, JSON, XML
workBook.SaveAs("sample.xls")
workBook.SaveAs("sample.xlsx")
workBook.SaveAs("sample.tsv")
workBook.SaveAsCsv("sample.csv")
workBook.SaveAsJson("sample.json")
workBook.SaveAsXml("sample.xml")

' Export the excel file as Html, Html string
workBook.ExportToHtml("sample.html")
Dim htmlString As String = workBook.ExportToHtmlString()

' Export the excel file as Binary, Byte array, Data set, Stream
Dim binary() As Byte = workBook.ToBinary()
Dim byteArray() As Byte = workBook.ToByteArray()
Dim dataSet As System.Data.DataSet = workBook.ToDataSet() ' Allow easy integration with DataGrids, SQL and EF
Dim stream As Stream = workBook.ToStream()
VB   C#

Wie im obigen Beispielcode gezeigt, hilft die IronXL-Bibliothek dabei, Excel-Dateien ohne Interop zu lesen. Sie können die IronXL-Bibliothek auch verwenden, um Ihre Arbeitsmappe zu laden und sie mit der Methode "SaveAs" in verschiedene Formate wie XLS, XLSX, XLSM, CSV, TSV, JSON und XML zu exportieren. Es ermöglicht auch den Export von Datentypen wie HTML-Strings, Binärdateien, Byte-Arrays, Datensätzen und Speicherströmen direkt im Code.

Schlussfolgerung

Im heutigen digitalen Zeitalter ist die Konvertierung von Dokumenten, insbesondere von Word-Dokumenten in PDF, für viele Anwendungen unverzichtbar geworden. Dies kann mit C# und den von Microsoft Interop bereitgestellten Funktionen erreicht werden.

Allerdings ist es wichtig, mit hochwertigen Tools wie IronXL ist unverzichtbar, denn sie bietet eine bessere Leistung und vereinfacht den Prozess. Wenn Sie IronXL ausprobieren möchten, bieten sie ein kostenloser Test. Wenn Sie sich erst einmal von den Fähigkeiten der Software überzeugt haben, ist die Lizenzierung bereits ab einer günstigen $749 möglich, so dass sich Ihre Investition lohnt und eine reibungslose Dokumentenverarbeitung in Ihren Anwendungen gewährleistet ist.

< PREVIOUS
C# Word bearbeiten (Code-Beispiel Entwickler Tutorial)
NÄCHSTES >
C# Word-Dokument öffnen

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

Gratis NuGet-Download Downloads insgesamt: 6,643 Lizenzen anzeigen >