C#打印Word文檔的4種方法
Word文檔是日常辦公和學(xué)習(xí)中不可或缺的一部分。比如在商務(wù)往來中,經(jīng)常需要打印 Word 文檔用于撰寫和傳遞正式的商務(wù)信函、合作協(xié)議、項(xiàng)目提案等。打印出來的文檔便于雙方簽字蓋章,具有法律效力和正式性。本文將提供以下4種通過C# 打印Word文檔的方法,以適應(yīng)不同的場景需求。
免費(fèi) .NET Word庫 - Free Spire.Doc for .NET。要實(shí)現(xiàn)通過C#打印Word文檔,我們需要安裝該免費(fèi)庫(有頁數(shù)限制)。可以直接在Visual Studio中通過NuGet搜索 “FreeSpire.Doc”,然后點(diǎn)擊 “安裝” 將其引用到程序中?;蛘咄ㄟ^該鏈接下載產(chǎn)品包,解壓后再手動將dll文件添加引用至程序。
C# 通過物理打印機(jī)打印Word文檔
通過免費(fèi).NET庫提供的 PrintDocument 類,我們可以在指定的打印機(jī)上打印 Word 文檔,還可以指定設(shè)置打印選項(xiàng),如要打印的頁面范圍、份數(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;
// 指定打印機(jī)名稱
printDoc.PrinterSettings.PrinterName = "打印機(jī)名";
// 指定要打印的頁面范圍
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,用于隱藏打印進(jìn)程,從而實(shí)現(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;
// 指定打印機(jī)名稱
printDoc.PrinterSettings.PrinterName = "打印機(jī)名";
// 將PrintController屬性設(shè)置為StandardPrintController,用于隱藏打印進(jìn)程
printDoc.PrintController = new StandardPrintController();
// 打印文檔
printDoc.Print();
}
}
}注意:靜默打印時無法實(shí)時確認(rèn)打印效果和參數(shù)設(shè)置,如果打印機(jī)出現(xiàn)故障或打印參數(shù)設(shè)置錯誤,可能會導(dǎo)致打印失敗或結(jié)果不符合預(yù)期。所以在正式使用靜默打印前,建議先進(jìn)行測試,確保打印設(shè)置和打印機(jī)狀態(tài)正常。
C# 通過虛擬打印機(jī)將 Word 轉(zhuǎn)為 PDF
虛擬打印機(jī)是一種軟件,能模擬實(shí)現(xiàn)打印機(jī)的功能,但并不涉及實(shí)際的紙張和墨水消耗,而是將電子文檔轉(zhuǎn)換為特定格式的電子文件保存在電腦上。除了物理打印機(jī)外,F(xiàn)ree Spire.Doc也支持使用虛擬打印機(jī)。
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;
// 指定虛擬打印機(jī)名稱
printDoc.PrinterSettings.PrinterName = "Microsoft Print to PDF";
// 指定輸出文件路徑和名稱
printDoc.PrinterSettings.PrintFileName = @"C:\Users\Administrator\Desktop\ToPDF.pdf";
// 打印文檔
printDoc.Print();
}
}
}C# 在一張紙上打印多個頁面
將多個相關(guān)的 Word 文檔頁面打印在一張紙上,以便于對比查看和整理資料,提高工作效率,減少紙張浪費(fèi)。通過使用 PrintMultipageToOneSheet() 方法可以實(shí)現(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)文章
Unity3D啟動外部程序并傳遞參數(shù)的實(shí)現(xiàn)
這篇文章主要介紹了Unity3D啟動外部程序并傳遞參數(shù)的實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
C#實(shí)現(xiàn)DataSet內(nèi)數(shù)據(jù)轉(zhuǎn)化為Excel和Word文件的通用類完整實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)DataSet內(nèi)數(shù)據(jù)轉(zhuǎn)化為Excel和Word文件的通用類,涉及C#中DataSet控件的使用及Excel和Word文件的相關(guān)操作技巧,需要的朋友可以參考下2016-06-06
C# 對PDF文檔加密、解密(基于Spire.Cloud.SDK for .NET)
這篇文章主要介紹了C# 基于Spire.Cloud.SDK for .NET對PDF文檔進(jìn)行加密解密,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
C#實(shí)現(xiàn)多文件打包壓縮(.Net?Core)
本文詳細(xì)講解了.Net?Core框架下C#實(shí)現(xiàn)多文件打包壓縮的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12
解析C#設(shè)計模式編程中外觀模式Facade Pattern的應(yīng)用
這篇文章主要介紹了C#設(shè)計模式編程中外觀模式Facade Pattern的應(yīng)用,外觀模式中分為門面(Facade)和子系統(tǒng)(subsystem)兩個角色來進(jìn)行實(shí)現(xiàn),需要的朋友可以參考下2016-02-02
c#實(shí)現(xiàn)一個超實(shí)用的證件照換底色小工具(附源碼)
這篇文章主要給大家介紹了關(guān)于利用c#實(shí)現(xiàn)一個超實(shí)用的證件照換底色小工具的相關(guān)資料,通過這個小工具大家可以很方便的進(jìn)行底色的切換,不用再因?yàn)榈咨脑蝾^疼了,需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01

