通過 C# 打印Word文檔
Word文檔是日常辦公和學習中不可或缺的一部分。比如在商務往來中,經常需要打印 Word 文檔用于撰寫和傳遞正式的商務信函、合作協議、項目提案等。打印出來的文檔便于雙方簽字蓋章,具有法律效力和正式性。本文將提供以下4種通過C# 打印Word文檔的方法,以適應不同的場景需求。
- C# 通過物理打印機打印Word文檔
- C# 靜默打印 Word 文檔
- C# 通過虛擬打印機將 Word 轉為 PDF
- C# 在一張紙上打印多個頁面
免費 .NET Word庫 - Free Spire.Doc for .NET。要實現通過C#打印Word文檔,我們需要安裝該免費庫(有頁數限制)。可以直接在Visual Studio中通過NuGet搜索 “FreeSpire.Doc”,然后點擊 “安裝” 將其引用到程序中。或者通過以下鏈接下載產品包,解壓后再手動將dll文件添加引用至程序。
https://www.e-iceblue.com/Download/download-excel-for-net-free.html
C# 通過物理打印機打印Word文檔
通過免費.NET庫提供的 PrintDocument 類,我們可以在指定的打印機上打印 Word 文檔,還可以指定設置打印選項,如要打印的頁面范圍、份數、和紙張大小等。
C# 代碼:
using Spire.Doc; using System.Drawing.Printing; namespace PrintWordDocument { class Program { static void Main(string[] args) { // 加載Word文檔 Document doc = new Document(); doc.LoadFromFile("示例.docx"); // 獲取 PrintDocument 對象 PrintDocument printDoc = doc.PrintDocument; // 指定打印機名稱 printDoc.PrinterSettings.PrinterName = "打印機名"; // 指定要打印的頁面范圍 printDoc.PrinterSettings.FromPage = 1; printDoc.PrinterSettings.ToPage = 10; // 設置打印份數 printDoc.PrinterSettings.Copies = 1; // 指定紙張大小 printDoc.DefaultPageSettings.PaperSize = new PaperSize("custom", 500, 800); // 打印文檔 printDoc.Print(); } } }
C# 靜默打印 Word 文檔
靜默打印是指在打印過程中不彈出打印對話框,直接通過程序或系統設置自動完成打印操作。使用Free Spire.Doc,我們可以將 PrintController 屬性設置為 StandardPrintController,用于隱藏打印進程,從而實現靜默打印。
C# 代碼:
using Spire.Doc; using System.Drawing.Printing; namespace SilentlyPrintWord { class Program { static void Main(string[] args) { // 加載Word文檔 Document doc = new Document(); doc.LoadFromFile("示例.docx"); // 獲取 PrintDocument 對象 PrintDocument printDoc = doc.PrintDocument; // 指定打印機名稱 printDoc.PrinterSettings.PrinterName = "打印機名"; // 將PrintController屬性設置為StandardPrintController,用于隱藏打印進程 printDoc.PrintController = new StandardPrintController(); // 打印文檔 printDoc.Print(); } } }
注意:靜默打印時無法實時確認打印效果和參數設置,如果打印機出現故障或打印參數設置錯誤,可能會導致打印失敗或結果不符合預期。所以在正式使用靜默打印前,建議先進行測試,確保打印設置和打印機狀態正常。
C# 通過虛擬打印機將 Word 轉為 PDF
虛擬打印機是一種軟件,能模擬實現打印機的功能,但并不涉及實際的紙張和墨水消耗,而是將電子文檔轉換為特定格式的電子文件保存在電腦上。除了物理打印機外,Free Spire.Doc也支持使用虛擬打印機。
C# 代碼:
using Spire.Doc; using System.Drawing.Printing; namespace PrintWordToPdf { class Program { static void Main(string[] args) { // 加載Word文檔 Document doc = new Document(); doc.LoadFromFile("示例.docx"); // 獲取 PrintDocument 對象 PrintDocument printDoc = doc.PrintDocument; // 打印輸出到文件 printDoc.PrinterSettings.PrintToFile = true; // 指定虛擬打印機名稱 printDoc.PrinterSettings.PrinterName = "Microsoft Print to PDF"; // 指定輸出文件路徑和名稱 printDoc.PrinterSettings.PrintFileName = @"C:\Users\Administrator\Desktop\ToPDF.pdf"; // 打印文檔 printDoc.Print(); } } }
C# 在一張紙上打印多個頁面
將多個相關的 Word 文檔頁面打印在一張紙上,以便于對比查看和整理資料,提高工作效率,減少紙張浪費。通過使用 PrintMultipageToOneSheet() 方法可以實現該操作。
C# 代碼:
using Spire.Doc; using Spire.Doc.Printing; using System.Drawing.Printing; namespace PrintMultiplePagesOnOneSheet { internal class Program { static void Main(string[] args) { // 加載Word文檔 Document doc = new Document(); doc.LoadFromFile("示例.docx"); // 獲取 PrintDocument 對象 PrintDocument printDoc = doc.PrintDocument; // 啟用單面打印 printDoc.PrinterSettings.Duplex = Duplex.Simplex; // 將指定的頁數打印到一頁上 doc.PrintMultipageToOneSheet(PagesPreSheet.TwoPages, false); } } }

浙公網安備 33010602011771號