using IronWord;
using IronWord.Models;
// Load docx
WordDocument doc = new WordDocument("document.docx");
// Add text
doc.AddText("Add text using IronWord");
// Export docx
doc.SaveAs("save_document.docx");
ASP .NET Core Word-Datei importieren & exportieren
IRONWORD VERWENDEN
ASP .NET Core Importieren & Exportieren einer Word-Datei
Veröffentlicht 16. Dezember 2024
Teilen Sie:
Einführung
Dieser Leitfaden untersucht, wie bestehende Word-Dokumente importiert, deren Inhalte angezeigt und Dokumente von Grund auf neu erstellt werden können mithilfe der IronWord-Bibliothek. Am Ende dieses Tutorials haben Sie einASP.NET CoreWebanwendung, die Folgendes kann:
Word-Dokumente hochladen und lesen
Zeigen Sie den Inhalt dieser Dokumente in einem Textfeld an.
Exportieren Sie die Docx-Datei
Dieses Projekt ist perfekt für Entwickler, die die Verarbeitung von Word-Dokumenten in ihre Webanwendungen integrieren müssen, sei es für Dokumentenmanagementsysteme, Berichtsgeneratoren oder andere Szenarien, die Microsoft Word-Dateien umfassen.
Voraussetzungen
Um diesem Tutorial zu folgen, sollten Sie Folgendes haben:
Grundkenntnisse in C# und ASP.NET Core
Visual Studio 2019 oder neuer installiert(alternativ können Sie Visual Studio Code mit der C#-Erweiterung verwenden)
.NET Core SDK 3.1 oder höher
Keine Sorge, wenn Sie kein Experte in diesen Technologien sind – wir führen Sie Schritt für Schritt durch den Prozess.!
Was ist IronWord?
IronWordist eine .NET-Bibliothek, die Entwicklern ermöglicht, Microsoft Word-Dokumente programmatisch zu lesen, zu manipulieren und zu erstellen. Es bietet eine High-Level-API, die die Arbeit mit Word-Dateien vereinfacht und es zu einer ausgezeichneten Wahl für unser Projekt macht.
Arbeiten mit Tabellen, Bildern und anderen Dokumentelementen
Serienbriefformular für die Dokumente
Die Umwandlung eines Word-Dokuments in ein PDF-Dokument ist einfach, sodass Sie Ihre endgültigen Word-Dokumente in leicht teilbare PDF-Dateien umwandeln können.
Da wir nun einen Überblick darüber haben, was wir bauen und welche Tools wir verwenden werden, lassen Sie uns mit der Einrichtung unseres Projekts beginnen.!
2. Einrichten des Projekts
In diesem Abschnitt erstellen wir ein neues ASP.NET Core-Projekt und installieren die erforderlichen Pakete, um mit IronWord zu arbeiten.
2.1 Erstellen eines neuen ASP.NET Core-Projekts
Öffnen Sie Visual Studio 2019 oder später.
Klicken Sie auf "Ein neues Projekt erstellen".
Suchen Sie nach "ASP.NET Core Web Application" und wählen Sie es aus.
Übersetzer-Plugin für Iron Software-Produkte!-- Kaputtes Bild Bild von Pixabay hinzufügen, aus Ihren Dateien auswählen oder ein Bild hierher ziehen und ablegen. -->
Klicken Sie auf "Weiter".
Nennen Sie Ihr Projekt „WordDocumentProcessor“(oder ein beliebiger Name Ihrer Wahl).
Wählen Sie das .NET Framework und einen Speicherort für Ihr Projekt aus und klicken Sie auf „Erstellen“.
2.2 Installation des IronWord NuGet-Pakets
Da wir nun unser Projekt eingerichtet haben, lassen Sie uns die IronWord-Bibliothek hinzufügen:
Klicken Sie mit der rechten Maustaste auf Ihr Projekt im Projektmappen-Explorer.
Wählen Sie "NuGet-Pakete verwalten".
Im "Durchsuchen"-Tab suchen Sie nach "IronWord".
Übersetzer-Plugin für Iron Software-Produkte!-- Kaputtes Bild Bild von Pixabay hinzufügen, aus Ihren Dateien auswählen oder ein Bild hierher ziehen und ablegen. -->
Suchen Sie nach dem offiziellen IronWord-Paket.
Klicken Sie auf "Installieren", um es zu Ihrem Projekt hinzuzufügen.
2.3 Aktualisieren des vorhandenen Controllers und der Ansicht
Lassen Sie uns unsere bestehende Struktur aktualisieren, um die Dokumentverarbeitungsfunktionalität einzubinden:
Wir werden den bestehenden HomeController.cs im Controllers-Ordner für unsere Dokumentenverarbeitung verwenden.
Wir werden die bestehende Index.cshtml-Ansicht im Ordner Views/Home aktualisieren, um die Dokument-Upload- und Anzeige-Funktionalität einzuschließen.
Jetzt, da wir unser Projekt eingerichtet und das IronWord-Paket installiert haben, sind wir bereit, die Import- und Exportfunktionalität für Dokumente zu implementieren. Wir werden neue Methoden zu unserem HomeController hinzufügen und die Index-Ansicht anpassen, um diese Funktionen zu unterstützen. Im nächsten Abschnitt konzentrieren wir uns auf das Importieren von Word-Dokumenten und das Anzeigen ihres Inhalts, unter Nutzung unserer bestehenden Controller- und View-Struktur. Wir können auch eine Serienbrieffunktion hinzufügen, aber in diesem Artikel konzentrieren wir uns auf das Importieren und Exportieren von Dokumenten.
3. Importieren von Word-Dokumenten
In diesem Abschnitt werden wir untersuchen, wie eine Funktion zum Importieren und Verarbeiten von Word-Dokumenten in einer ASP.NET MVC-Anwendung implementiert werden kann. Wir werden sowohl das Design der Benutzeroberfläche als auch die Logik des Back-End-Controllers behandeln.
3.1 Benutzeroberflächendesign
Die Benutzeroberfläche zum Importieren von Word-Dokumenten ist benutzerfreundlich und optisch ansprechend gestaltet. Lassen Sie uns die Hauptkomponenten der Benutzeroberfläche aufschlüsseln:
3.1.1 Upload-Bereich
Der Upload-Bereich ist der zentrale Punkt der Benutzeroberfläche und lädt Benutzer dazu ein, ihre Word-Dokumente auszuwählen und hochzuladen. Hier ist die Struktur:
Dieser Code erstellt einen optisch ansprechenden Upload-Bereich mit einem Dateisymbol, einem versteckten Dateieingabefeld und einem gestalteten Label, das als Dateiauswahlknopf dient. Es enthält auch Informationen über akzeptierte Dateitypen und einen Button, um den Upload und die Verarbeitung zu starten.
3.1.2 Inhaltsanzeigebereich
Nach der Verarbeitung des Dokuments wird dessen Inhalt in einem speziellen Bereich angezeigt:
<div class="content-wrapper">
<h2>Document Content:</h2>
<div id="documentContent" class="content-area">
No content to display.
</div>
</div>
<div class="content-wrapper">
<h2>Document Content:</h2>
<div id="documentContent" class="content-area">
No content to display.
</div>
</div>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<div class="content-wrapper"> <h2> Document Content:</h2> <div id="documentContent" class="content-area"> No content @to display. </div> </div>
$vbLabelText $csharpLabel
Dieser Abschnitt bietet einen scrollbaren Bereich zur Anzeige des bearbeiteten Dokumentinhalts.
3.2 Controller-Implementierung
Der HomeController übernimmt die serverseitige Logik für das Importieren und Verarbeiten von Word-Dokumenten. Lassen Sie uns die wichtigsten Methoden untersuchen:
3.2.1 UploadAndProcess-Methode
Diese Methode ist verantwortlich für das Hochladen und Verarbeiten von Dateien:
[HttpPost]
public IActionResult UploadAndProcess(IFormFile file)
{
if (file == null
file.Length == 0)
{
return Json(new { success = false, message = "No file uploaded." });
}
var fileExtension = Path.GetExtension(file.FileName).ToLowerInvariant();
if (fileExtension != ".doc" && fileExtension != ".docx")
{
return Json(new { success = false, message = "Invalid file type. Please upload a .doc or .docx file." });
}
try
{
var tempFilePath = Path.GetTempFileName();
using (var stream = new FileStream(tempFilePath, FileMode.Create))
{
file.CopyTo(stream);
}
StringBuilder contentBuilder = new StringBuilder();
WordDocument doc = new WordDocument(tempFilePath);
foreach (Paragraph paragraph in doc.Paragraphs)
{
foreach (Text textRun in paragraph.Texts)
{
contentBuilder.AppendLine(textRun.Text);
}
contentBuilder.AppendLine(); // Add an extra line between paragraphs
}
System.IO.File.Delete(tempFilePath); // Clean up the temporary file
return Json(new { success = true, content = FormatContentAsHtml(contentBuilder.ToString()) });
}
catch (Exception ex)
{
_logger.LogError(ex, "Error processing document");
return Json(new { success = false, message = "An error occurred while processing the document." });
}
}
[HttpPost]
public IActionResult UploadAndProcess(IFormFile file)
{
if (file == null
file.Length == 0)
{
return Json(new { success = false, message = "No file uploaded." });
}
var fileExtension = Path.GetExtension(file.FileName).ToLowerInvariant();
if (fileExtension != ".doc" && fileExtension != ".docx")
{
return Json(new { success = false, message = "Invalid file type. Please upload a .doc or .docx file." });
}
try
{
var tempFilePath = Path.GetTempFileName();
using (var stream = new FileStream(tempFilePath, FileMode.Create))
{
file.CopyTo(stream);
}
StringBuilder contentBuilder = new StringBuilder();
WordDocument doc = new WordDocument(tempFilePath);
foreach (Paragraph paragraph in doc.Paragraphs)
{
foreach (Text textRun in paragraph.Texts)
{
contentBuilder.AppendLine(textRun.Text);
}
contentBuilder.AppendLine(); // Add an extra line between paragraphs
}
System.IO.File.Delete(tempFilePath); // Clean up the temporary file
return Json(new { success = true, content = FormatContentAsHtml(contentBuilder.ToString()) });
}
catch (Exception ex)
{
_logger.LogError(ex, "Error processing document");
return Json(new { success = false, message = "An error occurred while processing the document." });
}
}
<HttpPost>
Public Function UploadAndProcess(ByVal file As IFormFile) As IActionResult
If file Is Nothing file.Length = 0 Then
Return Json(New With {
Key .success = False,
Key .message = "No file uploaded."
})
End If
Dim fileExtension = Path.GetExtension(file.FileName).ToLowerInvariant()
If fileExtension <> ".doc" AndAlso fileExtension <> ".docx" Then
Return Json(New With {
Key .success = False,
Key .message = "Invalid file type. Please upload a .doc or .docx file."
})
End If
Try
Dim tempFilePath = Path.GetTempFileName()
Using stream = New FileStream(tempFilePath, FileMode.Create)
file.CopyTo(stream)
End Using
Dim contentBuilder As New StringBuilder()
Dim doc As New WordDocument(tempFilePath)
For Each paragraph As Paragraph In doc.Paragraphs
For Each textRun As Text In paragraph.Texts
contentBuilder.AppendLine(textRun.Text)
Next textRun
contentBuilder.AppendLine() ' Add an extra line between paragraphs
Next paragraph
System.IO.File.Delete(tempFilePath) ' Clean up the temporary file
Return Json(New With {
Key .success = True,
Key .content = FormatContentAsHtml(contentBuilder.ToString())
})
Catch ex As Exception
_logger.LogError(ex, "Error processing document")
Return Json(New With {
Key .success = False,
Key .message = "An error occurred while processing the document."
})
End Try
End Function
$vbLabelText $csharpLabel
Diese Methode führt die folgenden Aufgaben aus:
Validiert die hochgeladene Datei und stellt sicher, dass sie im richtigen Dateiformat vorliegt.(DOC oder DOCX)
Überprüft die korrekte Dateierweiterung
Verarbeitet das Dokument mit der IronWord-Bibliothek
Gibt den formatierten Inhalt als JSON zurück
3.2.2 FormatContentAsHtml-Methode
Diese private Methode formatiert den extrahierten Inhalt in HTML:
private string FormatContentAsHtml(string content)
{
var lines = content.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
var htmlBuilder = new StringBuilder();
htmlBuilder.Append("<div class='document-content'>");
foreach (var line in lines)
{
if (string.IsNullOrWhiteSpace(line))
{
htmlBuilder.Append("<p> </p>");
}
else
{
htmlBuilder.Append($"<p>{HttpUtility.HtmlEncode(line)}</p>");
}
}
htmlBuilder.Append("</div>");
return htmlBuilder.ToString();
}
private string FormatContentAsHtml(string content)
{
var lines = content.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
var htmlBuilder = new StringBuilder();
htmlBuilder.Append("<div class='document-content'>");
foreach (var line in lines)
{
if (string.IsNullOrWhiteSpace(line))
{
htmlBuilder.Append("<p> </p>");
}
else
{
htmlBuilder.Append($"<p>{HttpUtility.HtmlEncode(line)}</p>");
}
}
htmlBuilder.Append("</div>");
return htmlBuilder.ToString();
}
Private Function FormatContentAsHtml(ByVal content As String) As String
Dim lines = content.Split( { Environment.NewLine }, StringSplitOptions.None)
Dim htmlBuilder = New StringBuilder()
htmlBuilder.Append("<div class='document-content'>")
For Each line In lines
If String.IsNullOrWhiteSpace(line) Then
htmlBuilder.Append("<p> </p>")
Else
htmlBuilder.Append($"<p>{HttpUtility.HtmlEncode(line)}</p>")
End If
Next line
htmlBuilder.Append("</div>")
Return htmlBuilder.ToString()
End Function
$vbLabelText $csharpLabel
Diese Methode stellt sicher, dass der Dokumentinhalt korrekt als HTML formatiert wird, wobei jede Zeile in Paragraph-Tags eingeschlossen ist und leere Zeilen erhalten bleiben.
3.3 Client-seitiges JavaScript
Um den Datei-Upload zu bearbeiten und den verarbeiteten Inhalt anzuzeigen, verwenden wir JavaScript:
uploadBtn.addEventListener( 'click', () =>
If True Then
const file = fileInput.files(0)
If Not file Then
alert( 'Please select a file first.');
Return
End If
const formData = New FormData()
formData.append( 'file', file);
uploadBtn.disabled = True
'INSTANT VB TODO TASK: The following line uses invalid syntax:
' uploadBtn.textContent = 'Processing...'; documentContent.innerHTML = 'Processing document...'; fetch('/Home/UploadAndProcess', { method: 'POST', body: formData }).@then(response => response.json()).@then(data => { if(data.success) { documentContent.innerHTML = data.content; } else { documentContent.innerHTML = `<p> @Error: ${data.message}</p>`; } }).catch(@error => { console.@error('@Error:', @error); documentContent.innerHTML = '<p> An @error occurred while processing the document.</p>'; }).finally(() => { uploadBtn.disabled = False; uploadBtn.textContent = 'Upload @and Process'; }); });
$vbLabelText $csharpLabel
Dieser JavaScript-Code verarbeitet den Datei-Upload, sendet die Datei zur Verarbeitung an den Server und aktualisiert die Benutzeroberfläche mit dem verarbeiteten Inhalt oder Fehlermeldungen.
3.4 Gestaltung der Benutzeroberfläche
Die Anwendung verwendet benutzerdefiniertes CSS, um eine attraktive und benutzerfreundliche Oberfläche zu erstellen.
Dieses CSS erzeugt einen sauberen, modernen Look mit einem hellen Farbschema. Der Upload-Bereich verfügt über einen weißen Hintergrund mit subtilen Schatteneffekten, während der Inhaltsbereich ein scrollbares Design mit einem hellgrauen Hintergrund aufweist. Die Verwendung der Eigenschaften border-radius und box-shadow verleiht den Schnittstellenelementen Tiefe und visuelles Interesse.
4. Exportieren von Word-Dokumenten
Während wir unseren Word Document Processor weiter verbessern, lassen Sie uns die Fähigkeit zum Exportieren von Dokumenten hinzufügen. Diese Funktion ermöglicht es den Benutzern, ein neues Word-Dokument aus unserer Anwendung zu erstellen.
4.1 Aktualisieren der Benutzeroberfläche
Zuerst fügen wir unserer Navigationsleiste eine "Exportieren"-Option hinzu. Öffnen Sie die Datei _Layout.cshtml im Ordner Views/Shared und suchen Sie die
element. Fügen wir einen neuen Listeneintrag für unsere Exportfunktion hinzu:
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<li class="nav-item"> <a class="nav-link" id="exportLink" href="#" onclick="exportDocument(); return false;"><i class="fas fa-file-export"></i> Export</a> </li>
$vbLabelText $csharpLabel
Wir verwenden Font Awesome für das Symbol. Stellen Sie also sicher, dass wir den CSS-Link in unserem ... haben.
Abschnitt. Dieser Code fügt der Navigationsleiste einen "Exportieren"-Link hinzu. Es verwendet Font Awesome für das Symbol und ruft die exportDocument-Funktion auf.() Funktion beim Klicken. Das href="#"** und return false verhindern das Standardverhalten des Links.
4.2 Implementierung der Client-seitigen Exportlogik
Fügen wir nun die JavaScript-Funktion hinzu, die den Exportvorgang übernimmt. At the bottom of our _Layout.cshtml file, just before the closing
tag, we'll add the following script:
<script>
function exportDocument() {
$.ajax({
url: '/Home/ExportWordDocument',
type: 'POST',
success: function (response) {
if (response.success) {
var fileName = prompt("Enter a name for the document (without extension):", "ExportedDocument");
if (fileName === null) {
return;
}
fileName = (fileName.trim()
"ExportedDocument").replace(/\.[^/.]+$/, "") + ".docx";
var a = document.createElement('a');
a.style.display = 'none';
a.href = '/Home/DownloadFile?tempFilePath=' + encodeURIComponent(response.tempFilePath) + '&userFileName=' + encodeURIComponent(fileName);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
} else {
alert('Failed to export document: ' + response.message);
}
},
error: function () {
alert('An error occurred while exporting the document.');
}
});
}
</script>
<script>
function exportDocument() {
$.ajax({
url: '/Home/ExportWordDocument',
type: 'POST',
success: function (response) {
if (response.success) {
var fileName = prompt("Enter a name for the document (without extension):", "ExportedDocument");
if (fileName === null) {
return;
}
fileName = (fileName.trim()
"ExportedDocument").replace(/\.[^/.]+$/, "") + ".docx";
var a = document.createElement('a');
a.style.display = 'none';
a.href = '/Home/DownloadFile?tempFilePath=' + encodeURIComponent(response.tempFilePath) + '&userFileName=' + encodeURIComponent(fileName);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
} else {
alert('Failed to export document: ' + response.message);
}
},
error: function () {
alert('An error occurred while exporting the document.');
}
});
}
</script>
Private Function exportDocument() As [function](Of script)
$.ajax({ url: '/Home/ExportWordDocument', type: 'POST', success: @function(response) { if(response.success) { var fileName = prompt("Enter a name for the document (without extension):", "ExportedDocument"); if(fileName === Nothing) { Return; } fileName = (fileName.trim() "ExportedDocument").replace(/\.[^/.]+$/, "") + ".docx"; var a = document.createElement("a"c); a.style.display = 'none'; a.href = '/Home/System.Nullable<DownloadFile>tempFilePath=' + encodeURIComponent(response.tempFilePath) + '&userFileName=' + encodeURIComponent(fileName); document.body.appendChild(a); a.click(); document.body.removeChild(a); } else { alert('Failed @to export document: ' + response.message); } }, @error: @function() { alert('An @error occurred while exporting the document.'); } });
End Function
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'</script>
$vbLabelText $csharpLabel
Diese JavaScript-Funktion sendet eine AJAX-POST-Anfrage an den Server, um ein Word-Dokument zu erstellen. Bei Erfolg wird der Benutzer nach einem Dateinamen gefragt und es wird ein temporärer Link zum Herunterladen der Datei erstellt. Der Link wird automatisch geklickt und anschließend aus dem DOM entfernt. Wenn in irgendeiner Phase ein Fehler auftritt, wird dem Benutzer eine Warnung angezeigt.
4.3 Hinzufügen von serverseitiger Exportfunktionalität
Nun, lassen Sie uns die serverseitige Logik implementieren. Öffnen Sie die Datei HomeController.cs im Ordner Controllers. Wir werden zwei neue Methoden hinzufügen, um den Exportprozess zu bearbeiten.
Zuerst fügen wir die Methode hinzu, um das Word-Dokument zu erstellen:
<HttpPost>
Public Function ExportWordDocument() As IActionResult
Try
Dim doc As New WordDocument()
doc.AddText("Test Word")
Dim tempFileName As String = $"TempDoc_{Guid.NewGuid()}.docx"
Dim tempFilePath As String = Path.Combine(_environment.WebRootPath, "TempFiles", tempFileName)
Directory.CreateDirectory(Path.GetDirectoryName(tempFilePath))
doc.SaveAs(tempFilePath)
Return Json(New With {
Key .success = True,
Key .tempFilePath = $"/TempFiles/{tempFileName}"
})
Catch ex As Exception
_logger.LogError(ex, "Error exporting Word document")
Return Json(New With {
Key .success = False,
Key .message = "An error occurred while exporting the document."
})
End Try
End Function
$vbLabelText $csharpLabel
Diese Methode erstellt ein neues Word-Dokument mit der IronWord-Bibliothek, fügt einen Testtext hinzu und speichert es in einer temporären Datei mit einem eindeutigen Namen. Es gibt ein JSON-Objekt zurück, das den Erfolgsstatus und den Pfad zur temporären Datei enthält. Wenn ein Fehler auftritt, wird die Ausnahme protokolliert und eine Fehlermeldung zurückgegeben.
Als Nächstes fügen wir die Methode hinzu, um den Dateidownload zu verarbeiten:
<HttpGet>
Public Function DownloadFile(ByVal tempFilePath As String, ByVal userFileName As String) As IActionResult
Try
Dim fullPath As String = Path.Combine(_environment.WebRootPath, tempFilePath.TrimStart("/"c))
If Not System.IO.File.Exists(fullPath) Then
Return NotFound()
End If
Dim fileBytes() As Byte = System.IO.File.ReadAllBytes(fullPath)
System.IO.File.Delete(fullPath)
Dim fileName As String = If(Not String.IsNullOrEmpty(userFileName), userFileName, "ExportedDocument.docx")
Return File(fileBytes, "application/vnd.openxmlformats-officedocument.wordprocessingml.document", fileName)
Catch ex As Exception
_logger.LogError(ex, "Error downloading file")
Return BadRequest("An error occurred while downloading the file.")
End Try
End Function
$vbLabelText $csharpLabel
Diese Methode ruft die von ExportWordDocument erstellte temporäre Datei ab, liest deren Inhalt in ein Byte-Array ein und löscht anschließend die temporäre Datei. Sie verwendet den angegebenen Benutzernamen oder einen Standardnamen, falls keiner angegeben ist. Die Methode gibt dann den Dateiinhalte als herunterladbares Word-Dokument zurück. Wenn die Datei nicht gefunden wird oder ein Fehler auftritt, werden entsprechende HTTP-Antworten zurückgegeben.
4.4 Verbesserung des visuellen Designs der Anwendung
Um das allgemeine Erscheinungsbild unseres Word-Dokumentverarbeitungsprogramms zu verbessern, haben wir benutzerdefiniertes CSS direkt in der _Layout.cshtml-Datei hinzugefügt. Lassen Sie uns das Styling untersuchen, das wir implementiert haben:
Dieser CSS-Block definiert das Farbschema und Layout unserer Anwendung. Wir verwenden CSS-Variablen(Benutzerdefinierte Eigenschaften)um eine konsistente Farbpalette in der gesamten App zu erstellen. Die Stile richten sich auf verschiedene Elemente, einschließlich des Körpers, der Navigationsleiste und der Fußzeile, um ein einheitliches Design zu gewährleisten. Wir haben die Navigationsleiste mit einem sauberen, modernen Erscheinungsbild eingerichtet, das Hover-Effekte und Symbolintegration bietet. W
Während sich unsere Anwendung derzeit auf Word-Dokumente konzentriert, können wir verwendenIronPDFum Unterstützung für PDF-Dokumente zu integrieren, um seine Funktionalität auf eine breitere Palette von Dateitypen zu erweitern. Das System könnte erweitert werden, um es Benutzern zu ermöglichen, ihre Dokumente zusätzlich zu den aktuellen Word-Formatoptionen als PDF-Datei zu exportieren.
5. Ausführen der Anwendung
Lassen Sie uns mit dem Ausführen unserer WordDocumentProcessor-Anwendung beginnen. Wie wir im Bild sehen können, wurde die Anwendung erfolgreich im Browser geladen. Die Benutzeroberfläche ist übersichtlich und benutzerfreundlich, mit einer Navigationsleiste oben, die die Optionen "Home" und "Export" anzeigt. Der Hauptinhaltbereich zeigt den Titel "Word Document Processor" und eine kurze Beschreibung: "Laden Sie Ihre Word-Dokumente problemlos hoch und verarbeiten Sie sie."
Jetzt versuchen wir, ein Dokument zu importieren. Auf dem Bild sehen wir, dass wir eine Datei namens "Honey research synopsis.docx" ausgewählt haben. Der Dateiname wird im Upload-Bereich angezeigt und ersetzt den Button „Datei auswählen“. Wir sind jetzt bereit, dieses Dokument hochzuladen und zu verarbeiten.
Nach dem Klicken auf "Hochladen und Verarbeiten" verarbeitet die Anwendung das Dokument und zeigt dessen Inhalt an. Der Abschnitt "Dokumentinhalt" zeigt nun den Anfang des hochgeladenen Dokuments an. Wir sehen den Titel "Beekeeping Technologies and Quality of Honey Production in Urban Areas", gefolgt von einer Zusammenfassung. Dies zeigt, dass unsere Anwendung den Inhalt des Word-Dokuments erfolgreich gelesen und angezeigt hat.
Zum Schluss testen wir die Exportfunktionalität. Auf dem Bild sehen wir eine Eingabeaufforderung, die erscheint, wenn wir auf die Schaltfläche "Exportieren" in der Navigationsleiste klicken. Die Aufforderung bittet uns, "einen Namen für das Dokument einzugeben."(ohne Erweiterung)". Der Standardname "ExportedDocument" ist vorausgefüllt, aber wir können ihn bei Bedarf ändern. Diese Eingabeaufforderung ermöglicht es uns, den Namen unseres exportierten Dokuments vor dem Herunterladen anzupassen.
Nach dem Klicken auf "OK" erzeugt die Anwendung ein neues Word-Dokument mit dem angegebenen Namen und startet den Downloadvorgang. Dieses exportierte Dokument enthält die Inhalte, die wir verarbeitet oder Änderungen, die wir innerhalb der Anwendung vorgenommen haben.
Im Laufe dieses Prozesses können wir sehen, dass die Anwendung wie beabsichtigt funktioniert. Wir können diese Anwendung verwenden, um Word-Dokumente zu importieren, Dokumente zu erstellen und sie problemlos zu exportieren. Die Benutzeroberfläche ist intuitiv und reaktionsschnell.
Schlussfolgerung
Abschließend zeigt unsere WordDocumentProcessor-Anwendung erfolgreich die Leistungsfähigkeit und Flexibilität der Integration der Verarbeitung von Word-Dokumenten in eine ASP.NET Core-Webanwendung. Indem wir die IronWord-Bibliothek nutzen, haben wir eine leistungsstarke Lösung zum einfachen Importieren, Anzeigen und Exportieren von Word-Dokumenten entwickelt. Diese Anwendung dient als solide Grundlage für komplexere Dokumentenmanagementsysteme oder Berichtsgeneratoren. Für Entwickler, die an der Erkundung der Fähigkeiten von IronWord interessiert sind, bietet die Bibliothek einkostenloser Test. Nach der Testversion beginnt die Lizenzierung bei $749, was es zu einer kostengünstigen Lösung für Unternehmen macht, die erweiterte Funktionen zur Verarbeitung von Word-Dokumenten in ihren Webanwendungen benötigen.
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
NÄCHSTES > VS 2022 Programmatisch Neue Word-Dokumente Erstellen (Tutorial)