C# Drukuj samouczek Word: Przewodnik krok po kroku
Witamy w tym samouczku, w którym omówimy, jak drukować dokumenty WORDa przy użyciu Microsoft Interop w aplikacji konsolowej C#. Ten przyjazny dla początkujących przewodnik przeprowadzi Cię przez kolejne etapy programowego drukowania dokumentów Microsoft WORD.
Wymagania wstępne
Zanim zagłębimy się w kod, konieczne jest skonfigurowanie kilku rzeczy:
-
Instalacja programu Microsoft WORD: Upewnij się, że masz zainstalowany program Microsoft WORD w swoim systemie. Jeśli nie, przejdź do oficjalnej strony Microsoftu na swoim komputerze lub do sklepu z aplikacjami, aby ją zainstalować.
-
Konfiguracja Visual Studio: Należy zainstalować Visual Studio z możliwością tworzenia aplikacji konsolowych. Jeśli dopiero zaczynasz, rozważ pobranie Visual Studio Community, które jest bezpłatne i wystarczające do naszych potrzeb.
-
Dokument WORD: Przygotuj na swoim komputerze przykładowy dokument WORD do celów testowych. Będzie to dokument, który wyślemy do drukarni.
Konfiguracja środowiska
Utwórz nową aplikację konsolową
- Otwórz program Visual Studio.
- Kliknij "Utwórz nowy projekt".
- Wyszukaj "Console App" i wybierz odpowiedni szablon C#.
- Nadaj nazwę projektowi (np. "InteropPrintConsoleTutorial") i wybierz odpowiednią lokalizację.
Dodanie odniesienia do Interop
Korzystanie z Interop wymaga odwołania do biblioteki Microsoft Office Interop. Oto jak to dodać:
- W programie Visual Studio kliknij prawym przyciskiem myszy projekt Console w oknie Solution Explorer.
- Przejdź do opcji Dodaj > Odwołanie.
- W oknie Menedżera odwołań przejdź do karty COM.
- Wpisz "Microsoft WORD" w pasku wyszukiwania, aby zawęzić listę.
- Z wyników wybierz "Microsoft WORD xx.x Object Library" (gdzie xx.x oznacza numer wersji).
- Kliknij przycisk OK, aby dodać odnośnik.
Można je również zainstalować za pomocą menedżera pakietów NuGet.

Sprawdź ustawienia aplikacji
Upewnij się, że framework docelowy Twojej aplikacji jest kompatybilny z biblioteką Interop. Można to sprawdzić, klikając prawym przyciskiem myszy na projekt w Solution Explorer, wybierając Properties, a następnie przeglądając Target framework w zakładce Application. Jeśli napotkasz problemy z wersją biblioteki Interop, rozważ pobranie niezbędnego pakietu lub zestawu lub dostosowanie docelowej wersji platformy.
Po skonfigurowaniu środowiska można przystąpić do procesu kodowania.
Zrozumienie obiektu Document
Obiekt dokumentu stanowi serce usług Interop podczas pracy z dokumentami programu WORD. Ten obiekt reprezentuje dokument WORD i zapewnia wszystkie jego funkcje.
Częstym zadaniem jest otwieranie dokumentu:
using Word = Microsoft.Office.Interop.Word;
// Object needed to avoid passing specific parameters
object oMissing = Type.Missing;
// File path to the Word document you want to open
object fileName = @"C:\path_to_document\document.docx";
// Create a new instance of the Word application
Word.Application wordApp = new Word.Application();
// Open the document with specified parameters
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);Imports Word = Microsoft.Office.Interop.Word
' Object needed to avoid passing specific parameters
Private oMissing As Object = Type.Missing
' File path to the Word document you want to open
Private fileName As Object = "C:\path_to_document\document.docx"
' Create a new instance of the Word application
Private wordApp As New Word.Application()
' Open the document with specified parameters
Private wordDoc As Word._Document = wordApp.Documents.Open(fileName, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing)Wiele parametrow z ref oMissing moze wydawac sie oniesmielajace, lecz sa one niezbedne dla metody Open, ktora oczekuje licznych argumentow, z ktorych wiekszosc jest opcjonalna.
Wdrażanie funkcji PRINT
Po skonfigurowaniu środowiska i zapoznaniu się z obiektem dokumentu nadszedł czas, aby zagłębić się w podstawowe funkcje drukowania dokumentów WORD.
Podstawowe drukowanie dokumentów WORD
Aby wydrukować dokument, można użyć następującej metody:
// Method to print the document using default printer settings
private void ButtonPrint_Click(object sender, EventArgs e)
{
wordDoc.PrintOut(); // Sends the document to the default printer
}' Method to print the document using default printer settings
Private Sub ButtonPrint_Click(ByVal sender As Object, ByVal e As EventArgs)
wordDoc.PrintOut() ' Sends the document to the default printer
End SubTa metoda wysyła dokument do domyślnej drukarki przy użyciu ustawień domyślnych.
Drukowanie dokumentów WORD z dostosowaniami
Jeśli chcesz wyświetlić okno dialogowe PRINT, dostosować ustawienia drukarki, a nawet wydrukować wiele stron, potrzebujesz bardziej szczegółowego podejścia:
// Method to print the document with custom settings
private void ButtonPrintWithSettings_Click(object sender, EventArgs e)
{
// Number of copies to print
object copies = "1";
// Page range to print, e.g., pages 1 to 3
object pages = "1-3";
// Print the document with specified copies and page range
wordDoc.PrintOut(Copies: ref copies, Pages: ref pages);
}' Method to print the document with custom settings
Private Sub ButtonPrintWithSettings_Click(ByVal sender As Object, ByVal e As EventArgs)
' Number of copies to print
Dim copies As Object = "1"
' Page range to print, e.g., pages 1 to 3
Dim pages As Object = "1-3"
' Print the document with specified copies and page range
wordDoc.PrintOut(Copies:= copies, Pages:= pages)
End SubW powyższym kodzie źródłowym określamy zakres stron i liczbę kopii, ale możliwości dostosowania są ogromne.
Dostosowywanie ustawień drukowania
Możliwość modyfikacji ustawień drukowania jest tym, co wyróżnia sterowanie programowe. Niezależnie od tego, czy chcesz dostosować ustawienia drukarki, zdefiniować konkretną drukarkę, czy nawet wydrukować dokument w tle, wszystko to jest w zasięgu ręki dzięki Interop.
Ciche drukowanie
Ciche drukowanie polega na wysłaniu dokumentu do drukarki bez żadnej interakcji ze strony użytkownika:
// Object to determine whether to print in the background or not
object background = false;
// Print the document silently (no user interactions)
wordDoc.PrintOut(Background: ref background);' Object to determine whether to print in the background or not
Dim background As Object = False
' Print the document silently (no user interactions)
wordDoc.PrintOut(Background:= background)Określanie drukarki
Aby wydrukować dokument na konkretnej drukarce innej niż domyślna:
// Set the active printer to a specified printer by name
wordApp.ActivePrinter = "Printer Name";
// Print the document using the specified printer
wordDoc.PrintOut();' Set the active printer to a specified printer by name
wordApp.ActivePrinter = "Printer Name"
' Print the document using the specified printer
wordDoc.PrintOut()Zaawansowane ustawienia drukarki
Oprócz samego określenia drukarki może zaistnieć potrzeba dostosowania jej ustawień:
// Creates a PrintDialog to allow the user to choose printer settings
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == DialogResult.OK)
{
// Sets the Word application's active printer to the user's choice
wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName;
// Prints the document using user's selected printer settings
wordDoc.PrintOut();
}' Creates a PrintDialog to allow the user to choose printer settings
Dim printDialog As New PrintDialog()
If printDialog.ShowDialog() = DialogResult.OK Then
' Sets the Word application's active printer to the user's choice
wordApp.ActivePrinter = printDialog.PrinterSettings.PrinterName
' Prints the document using user's selected printer settings
wordDoc.PrintOut()
End IfW ten sposób użytkownik może ręcznie dostosować ustawienia, takie jak orientacja, drukowanie dwustronne i inne.
Przedstawiamy IronWord
Chociaż Microsoft Interop zapewnia funkcje do zarządzania dokumentami WORD, nie jest tak solidny i wydajny, jak powinien być do poważnego zastosowania komercyjnego. Poznaj IronWord — doskonałą alternatywę dla Interop do przetwarzania plików Word DOCX. IronWord umożliwia płynne odczytywanie, zapisywanie i edycję plików Excel w języku C#. Dowiedz się więcej o tym, jak rozpocząć pracę z IronWord.

Wnioski
W tym samouczku omówiliśmy kroki związane z wykorzystaniem Microsoft Interop do programowego drukowania dokumentów Worda w aplikacji konsolowej C#. Widzieliśmy już, jak wyświetlić okno dialogowe drukowania, ustawić niestandardowe opcje drukowania oraz kontrolować różne aspekty drukowania, takie jak wybór określonej drukarki lub definiowanie zakresu stron. Chociaż Interop oferuje podstawowe funkcje, warto zauważyć, że istnieją potężne alternatywy, takie jak IronWord.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.
Powiązane artykuły

