IRONWORD VERWENDEN

C# Print Word Tutorial: Schritt-für-Schritt-Anleitung

Veröffentlicht 30. Oktober 2023
Teilen Sie:

Willkommen zu diesem Tutorial, in dem wir untersuchen werden, wie man Word-Dokumente mit der Microsoft Interop in einer C#-Konsolenanwendung druckt. Diese anfängerfreundliche Anleitung führt Sie durch die Schritte zum programmgesteuerten Drucken von Microsoft Word-Dokumenten.

Voraussetzungen

Bevor Sie sich mit dem Code befassen, müssen Sie einige Dinge einrichten:

Microsoft Word-Installation: Stellen Sie sicher, dass Sie Microsoft Word auf Ihrem System installiert haben. Wenn nicht, besuchen Sie die offizielle Microsoft-Website oder den App-Store Ihres Computers, um es zu installieren.

Visual Studio-Einrichtung: Sie sollten Visual Studio installiert haben und in der Lage sein, eine Konsolenanwendung zu erstellen. Wenn Sie ein Anfänger sind, sollten Sie Folgendes herunterladenVisual Studio-Gemeinschaftdie kostenlos ist und für unsere Bedürfnisse ausreicht.

Ein Word-Dokument: Halten Sie zu Testzwecken ein Word-Musterdokument auf Ihrem Rechner bereit. Dies ist das Dokument, das wir an die Druckerei schicken werden.

Einrichten der Umgebung

Eine neue Konsolenanwendung erstellen

  1. Öffnen Sie Visual Studio.

  2. Klicken Sie auf Ein neues Projekt erstellen.

  3. Suchen Sie nach "Console App" und wählen Sie die entsprechende C#-Vorlage aus.

  4. Benennen Sie Ihr Projekt(z. B. "InteropPrintConsoleTutorial") und wählen Sie einen geeigneten Standort.

Hinzufügen der Interop-Referenz

Die Verwendung von Interop erfordert einen Verweis auf die Microsoft Office Interop-Bibliothek. So fügen Sie sie hinzu:

  1. Klicken Sie in Visual Studio mit der rechten Maustaste auf Ihr Konsolenprojekt im Projektmappen-Explorer.

  2. Navigieren Sie zu Hinzufügen > Referenz.

  3. Wechseln Sie im Fenster Referenz-Manager auf die Registerkarte COM.

  4. Geben Sie "Microsoft Word" in die Suchleiste ein, um die Liste zu filtern.

  5. Wählen Sie aus den Ergebnissen Microsoft Word xx.x Object Library(wobei xx.x die Versionsnummer angibt).

  6. Klicken Sie auf die Schaltfläche OK, um die Referenz hinzuzufügen.

    Sie können es auch mit dem NuGet Package Manager installieren.

    Sie können die Bibliothek Microsoft.Office.Interop.Word auch mit dem NuGet Package Manager installieren.

Überprüfen der Anwendungseinstellungen

Stellen Sie sicher, dass das Zielframework Ihrer Anwendung mit der Interop-Bibliothek kompatibel ist. Sie können dies überprüfen, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt klicken, Eigenschaften auswählen und dann das Zielframework auf der Registerkarte Anwendung anzeigen. Wenn Sie Probleme mit der Version der Interop-Bibliothek haben, können Sie das erforderliche Paket oder die Baugruppe herunterladen oder die Version des Ziel-Frameworks anpassen.

Nachdem Sie die Umgebung eingerichtet haben, können Sie nun mit dem Codierungsprozess fortfahren.

Das Dokumentenobjekt verstehen

Das Dokumentobjekt ist das Herzstück der Interop-Dienste im Umgang mit Word-Dokumenten. Dieses Objekt stellt ein Microsoft Word-Dokument dar und bietet alle seine Funktionalitäten.

Eine häufige Aufgabe ist das Öffnen eines Dokuments:

object oMissing = Type.Missing;
object fileName = @"C:\path_to_document\document.docx";
Word._Document wordDoc = wordApp.Documents.Open(ref fileName, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
object oMissing = Type.Missing;
object fileName = @"C:\path_to_document\document.docx";
Word._Document wordDoc = wordApp.Documents.Open(ref fileName, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
Dim oMissing As Object = Type.Missing
Dim fileName As Object = "C:\path_to_document\document.docx"
Dim wordDoc As Word._Document = wordApp.Documents.Open(fileName, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing)
VB   C#

Die vielen Parameter mit ref oMissing mögen abschreckend wirken, sind aber für die Open-Methode unerlässlich, die zahlreiche Argumente erwartet, von denen die meisten optional sind.

Implementieren der Druckfunktionalität

Nachdem wir unsere Umgebung eingerichtet und das Dokumentobjekt verstanden haben, ist es an der Zeit, sich mit den Kernfunktionen des Druckens von Word-Dokumenten zu beschäftigen.

Grundlegendes Drucken von Word-Dokumenten

Um das Dokument zu drucken, können Sie die folgende Methode verwenden:

private void ButtonPrint_Click(object sender, EventArgs e)
{
    wordDoc.PrintOut();
}
private void ButtonPrint_Click(object sender, EventArgs e)
{
    wordDoc.PrintOut();
}
Private Sub ButtonPrint_Click(ByVal sender As Object, ByVal e As EventArgs)
	wordDoc.PrintOut()
End Sub
VB   C#

Bei dieser Methode wird das Dokument an den Standarddrucker mit den Standardeinstellungen gesendet.

3.2 Word-Dokumente mit Anpassungen drucken

Wenn Sie einen Druckdialog einrichten, die Druckereinstellungen anpassen oder sogar mehrere Seiten drucken möchten, benötigen Sie einen detaillierteren Ansatz:

private void ButtonPrintWithSettings_Click(object sender, EventArgs e)
{
    object copies = "1";
    object pages = "1-3"; // To print multiple pages, e.g., 1 to 3.

    wordDoc.PrintOut(Copies: ref copies, Pages: ref pages);
}
private void ButtonPrintWithSettings_Click(object sender, EventArgs e)
{
    object copies = "1";
    object pages = "1-3"; // To print multiple pages, e.g., 1 to 3.

    wordDoc.PrintOut(Copies: ref copies, Pages: ref pages);
}
Private Sub ButtonPrintWithSettings_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim copies As Object = "1"
	Dim pages As Object = "1-3" ' To print multiple pages, e.g., 1 to 3.

	wordDoc.PrintOut(Copies:= copies, Pages:= pages)
End Sub
VB   C#

Im obigen Quellcode geben wir den Seitenbereich und die Anzahl der Kopien an, aber die möglichen Anpassungen sind enorm.

Anpassen der Druckeinstellungen

Die Möglichkeit, Druckeinstellungen zu ändern, ist das Besondere an der programmatischen Steuerung. Egal, ob Sie die Druckereinstellungen anpassen, einen bestimmten Drucker definieren oder das Dokument sogar im Hintergrund drucken möchten - mit Interop ist alles möglich.

Silent Printing

Beim geräuschlosen Drucken geht es darum, das Dokument ohne jegliche Benutzerinteraktion an den Drucker zu senden:

object background = false;
wordDoc.PrintOut(Background: ref background);
object background = false;
wordDoc.PrintOut(Background: ref background);
Dim background As Object = False
wordDoc.PrintOut(Background:= background)
VB   C#

Festlegen eines Druckers

Um ein Dokument auf einem bestimmten Drucker zu drucken, der nicht der Standarddrucker ist:

wordApp.ActivePrinter = "Printer Name";
wordDoc.PrintOut();
wordApp.ActivePrinter = "Printer Name";
wordDoc.PrintOut();
wordApp.ActivePrinter = "Printer Name"
wordDoc.PrintOut()
VB   C#

Erweiterte Druckereinstellungen

Neben der Angabe des Druckers müssen möglicherweise auch die Druckereinstellungen angepasst werden:

PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == DialogResult.OK)
{
    wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName;
    wordDoc.PrintOut();
}
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == DialogResult.OK)
{
    wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName;
    wordDoc.PrintOut();
}
Dim printDialog As New PrintDialog()
If printDialog.ShowDialog() = DialogResult.OK Then
	wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName
	wordDoc.PrintOut()
End If
VB   C#

Auf diese Weise kann der Benutzer Einstellungen wie Ausrichtung, Duplexdruck und vieles mehr manuell anpassen.

Einführung IronWord

Microsoft Interop bietet zwar Funktionen zur Verwaltung von Word-Dokumenten, ist aber nicht so robust und effizient, wie es für eine ernsthafte kommerzielle Nutzung sein sollte. EingabeIronWord-eine überlegene Alternative zu Interop für die Verarbeitung von Word DOCX-Dateien. IronWord ermöglicht das nahtlose Lesen, Schreiben und Manipulieren von Excel-Dateien in C#. Erfahren Sie mehr überwie man mit IronWord anfängt.

IronXL for .NET: Die C# Excel-Bibliothek

Fazit

In diesem Tutorial haben wir uns mit den Schritten beschäftigt, die erforderlich sind, um Microsoft Interop zu nutzen, um Word-Dokumente programmatisch in einer C#-Konsolenanwendung zu drucken. Wir haben gesehen, wie man den Druckdialog anzeigt, benutzerdefinierte Druckeinstellungen festlegt und verschiedene Druckaspekte wie die Auswahl eines bestimmten Druckers oder die Definition eines Seitenbereichs steuert. Interop bietet zwar grundlegende Funktionen, aber es gibt auch leistungsfähige Alternativen wieIronWord.

< PREVIOUS
C# Word-Dokument öffnen

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

Gratis NuGet-Download Downloads insgesamt: 7,005 Lizenzen anzeigen >