Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
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;
Bevor Sie in den Code eintauchen, umdOCX in PDF konvertieren mit C#ist es von entscheidender Bedeutung, dass Sie die erforderliche Umgebung schaffen. Im Folgenden finden Sie die erforderlichen Voraussetzungen:
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.
Eine Version vonVisual 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 unterOffizielle Website von Microsoft.
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.
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.
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.
Öffnen Sie Ihr Visual Studio.
Erstellen Sie eine neue C#-Konsolenanwendung.
Gehen Sie zu NuGet-Paketmanager > NuGet-Pakete für Lösung verwalten.
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.
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
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.
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 aufwie 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
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()
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.
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 wieIronXL ist unverzichtbar, denn sie bietet eine bessere Leistung und vereinfacht den Prozess. Wenn Sie IronXL ausprobieren möchten, bieten sie einkostenloser 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.
9 .NET API-Produkte für Ihre Bürodokumente