C#打印Word文檔的4種方法
Word文檔是日常辦公和學(xué)習(xí)中不可或缺的一部分。比如在商務(wù)往來中,經(jīng)常需要打印 Word 文檔用于撰寫和傳遞正式的商務(wù)信函、合作協(xié)議、項目提案等。打印出來的文檔便于雙方簽字蓋章,具有法律效力和正式性。本文將提供以下4種通過C# 打印Word文檔的方法,以適應(yīng)不同的場景需求。
免費 .NET Word庫 - Free Spire.Doc for .NET。要實現(xiàn)通過C#打印Word文檔,我們需要安裝該免費庫(有頁數(shù)限制)。可以直接在Visual Studio中通過NuGet搜索 “FreeSpire.Doc”,然后點擊 “安裝” 將其引用到程序中?;蛘咄ㄟ^該鏈接下載產(chǎn)品包,解壓后再手動將dll文件添加引用至程序。
C# 通過物理打印機打印Word文檔
通過免費.NET庫提供的 PrintDocument 類,我們可以在指定的打印機上打印 Word 文檔,還可以指定設(shè)置打印選項,如要打印的頁面范圍、份數(shù)、和紙張大小等。
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; // 設(shè)置打印份數(shù) printDoc.PrinterSettings.Copies = 1; // 指定紙張大小 printDoc.DefaultPageSettings.PaperSize = new PaperSize("custom", 500, 800); // 打印文檔 printDoc.Print(); } } }
C# 靜默打印 Word 文檔
靜默打印是指在打印過程中不彈出打印對話框,直接通過程序或系統(tǒng)設(shè)置自動完成打印操作。使用Free Spire.Doc,我們可以將 PrintController 屬性設(shè)置為 StandardPrintController,用于隱藏打印進程,從而實現(xiàn)靜默打印。
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屬性設(shè)置為StandardPrintController,用于隱藏打印進程 printDoc.PrintController = new StandardPrintController(); // 打印文檔 printDoc.Print(); } } }
注意:靜默打印時無法實時確認打印效果和參數(shù)設(shè)置,如果打印機出現(xiàn)故障或打印參數(shù)設(shè)置錯誤,可能會導(dǎo)致打印失敗或結(jié)果不符合預(yù)期。所以在正式使用靜默打印前,建議先進行測試,確保打印設(shè)置和打印機狀態(tài)正常。
C# 通過虛擬打印機將 Word 轉(zhuǎn)為 PDF
虛擬打印機是一種軟件,能模擬實現(xiàn)打印機的功能,但并不涉及實際的紙張和墨水消耗,而是將電子文檔轉(zhuǎn)換為特定格式的電子文件保存在電腦上。除了物理打印機外,F(xiàn)ree 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# 在一張紙上打印多個頁面
將多個相關(guān)的 Word 文檔頁面打印在一張紙上,以便于對比查看和整理資料,提高工作效率,減少紙張浪費。通過使用 PrintMultipageToOneSheet() 方法可以實現(xiàn)該操作。
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; // 將指定的頁數(shù)打印到一頁上 doc.PrintMultipageToOneSheet(PagesPreSheet.TwoPages, false); } } }
到此這篇關(guān)于C#打印Word文檔的4種方法的文章就介紹到這了,更多相關(guān)C#打印Word內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#使用WebClient實現(xiàn)文件上傳的操作步驟
這篇文章主要介紹了C#使用WebClient實現(xiàn)文件上傳的操作步驟,文中通過代碼示例給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-11-11C#?將數(shù)據(jù)庫SqlServer數(shù)據(jù)綁定到類中的過程詳解
本文講述的是讀取數(shù)據(jù)庫中數(shù)據(jù)的常用做法,即將數(shù)據(jù)庫中的數(shù)據(jù)綁定到創(chuàng)建的類中,再將類綁定到DataGridView的數(shù)據(jù)源中的做法,對C#將SqlServer數(shù)據(jù)綁定到類中感興趣的朋友一起看看吧2022-06-06C# 從Excel讀取數(shù)據(jù)向SQL server寫入
這篇文章主要介紹了C# 從Excel讀取數(shù)據(jù)向SQL server寫入的方法,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問題
C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11