翻譯|使用教程|編輯:吉煒煒|2025-05-27 11:56:02.777|閱讀 97 次
概述:在 C# 中以編程方式打印 Word 文檔可以簡化業務工作流程、自動化報告和增強文檔管理系統。本指南全面探討如何使用 Spire.Doc for .NET 打印 Word 文檔,涵蓋從基本打印到高級自定義技術的所有內容。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在 C# 中以編程方式打印 Word 文檔可以簡化業務工作流程、自動化報告和增強文檔管理系統。本指南全面探討如何使用 Spire.Doc for .NET 打印 Word 文檔,涵蓋從基本打印到高級自定義技術的所有內容。我們將逐步介紹每種情況下的實際代碼示例,確保您能夠在實際應用中實施這些解決方案。
Spire.Doc for .NET 是一個強大的獨立庫,支持全面的 Word 文檔處理,無需安裝 Microsoft Office。它提供直觀的 API 用于加載、編輯和打印 Word 文件(DOC/DOCX),同時保持完美的格式保真度。
首先,請通過 NuGet 包管理器安裝庫:
Install-Package Spire.Doc
或者,您可以從我們的官方網站下載 Spire.Doc for .NET 并手動引用 DLL 文件。
在 C# 中打印 Word 文檔的基礎包括以下三個關鍵步驟,示例代碼如下。首先,我們創建一個 Document對象來表示我們的 Word 文件,然后加載實際文檔,最后通過 PrintDocument類訪問打印功能。
using Spire.Doc; using System.Drawing.Printing; namespace PrintWordDocument { internal class Program { static void Main(string[] args) { // 初始化新的 Document 實例 Document doc = new Document(); // 從指定路徑加載 Word 文件 doc.LoadFromFile("Input.docx"); // 訪問用于打印操作的 PrintDocument 對象 PrintDocument printDoc = doc.PrintDocument; // 發送文檔到默認打印機 printDoc.Print(); } } }
這個基礎實現僅用幾行代碼就處理了從文檔加載到實際打印的整個流程。PrintDocument對象抽象了所有底層打印操作,使開發過程變得簡單。
除了基本打印外,Spire.Doc 還通過 PrinterSettings類提供廣泛的自定義選項,使開發人員能夠對打印過程進行細致控制。這些設置允許您根據特定需求調整輸出,例如選擇特定頁面或配置高級打印機功能。
要獲取與當前文檔關聯的 **PrinterSettings **對象,請使用以下代碼:
PrinterSettings settings = printDoc.PrinterSettings;
現在,讓我們探討具體的設置。
settings.PrinterName = "您的打印機名稱";
settings.FromPage = 1; settings.ToPage = 5;
settings.Copies = 2;
if (settings.CanDuplex) { settings.Duplex = Duplex.Default; }
settings.DefaultPageSettings.PaperSize = new PaperSize("custom", 800, 500);
settings.PrintToFile = true; settings.PrinterName = "Microsoft Print to PDF"; settings.PrintFileName = @"C:\Output.pdf";
在自動化環境中,您可能需要打印文檔而無需任何用戶交互或可見對話框。以下實現通過使用 StandardPrintController實現靜默打印。
using Spire.Doc; using System.Drawing.Printing; namespace SilentlyPrintWord { class Program { static void Main(string[] args) { // 初始化一個新的 Document 實例 Document doc = new Document(); // 從指定路徑加載 Word 文件 doc.LoadFromFile("Input.docx"); // 訪問用于打印操作的 PrintDocument 對象 PrintDocument printDoc = doc.PrintDocument; // 禁用打印對話框 printDoc.PrintController = new StandardPrintController(); // 執行打印 printDoc.Print(); } } }
靜默打印的關鍵在于將 StandardPrintController 分配給 PrintController 屬性,這樣可以抑制所有與打印相關的對話框和進度指示器。這種方法非常適合服務器端應用或批處理場景,在這些場景中,用戶交互不可行或不希望出現。
為了節省紙張使用或創建緊湊的文檔版本,Spire.Doc 支持在一張物理紙張上打印多個文檔頁面。PrintMultipageToOneSheet方法通過預定義的布局選項簡化了此過程。
using Spire.Doc; using Spire.Doc.Printing; using System.Drawing.Printing; namespace PrintMultiplePagesOnOneSheet { internal class Program { static void Main(string[] args) { // 初始化一個新的 Document 實例 Document doc = new Document(); // 從指定路徑加載 Word 文件 doc.LoadFromFile("Input.docx"); // 配置每頁打印 2 張并執行打印 doc.PrintMultipageToOneSheet(PagesPreSheet.TwoPages, false); } } }
PagesPreSheet枚舉提供多種布局選項(TwoPages、FourPages、SixPages 等),而布爾參數決定是否在打印紙張上包含頁面邊框。此功能對于創建小冊子布局或文檔草稿版本特別有價值。
注意 : 此功能僅適用于 .NET Framework 5.0 之前的版本。
本指南展示了 Spire.Doc for .NET 如何為 C# 中的 Word 文檔打印提供全面解決方案。它通過以下功能簡化了該過程:
通過整合這些技術,開發者可以高效地在企業應用中自動化文檔打印,提高生產力并減少手動工作。總體而言,Spire.Doc 使開發者能夠創建滿足多樣化業務需求的強大打印解決方案。
A : 可以,Spire.Doc支持在加載受密碼保護的文檔后打印它們:
doc.LoadFromFile("Protected.docx", FileFormat.Docx, "password");
加載成功后,您可以像其他文檔一樣打印,所有相同的自定義選項均可用。
A : 您可以通過訪問文檔的部分和段落提取特定內容:
Section section = doc.Sections; Paragraph paragraph = section.Paragraphs; // 創建新文檔并包含選定內容 Document newDoc = new Document(); newDoc.Sections.Add(section.Clone()); newDoc.Print();
這種方法讓您可以精確控制打印哪些文檔部分。
A : 可以!修改 DefaultPageSettings 屬性:
printDoc.DefaultPageSettings.Landscape = true; printDoc.DefaultPageSettings.Margins = new Margins(50, 50, 50, 50);
A : Spire.Doc 設計用于 Word 文件(DOC/DOCX)。對于 PDF,請使用 Spire.PDF;對于 Excel,請使用 Spire.XLS。
————————————————————————————————————————
關于慧都科技:
慧都科技是一家行業數字化解決方案公司,長期專注于軟件、油氣與制造行業。公司基于深入的業務理解與管理洞察,以系統化的業務建模驅動技術落地,幫助企業實現智能化運營與長期競爭優勢。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。慧都科技E-iceblue的官方授權代理商,提供E-iceblue系列產品免費試用,咨詢,正版銷售等于一體的專業化服務。E-iceblue旗下Spire系列產品是國產文檔處理領域的優秀產品,支持國產化,幫助企業高效構建文檔處理的應用程序。
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢 ;技術交流Q群(125237868)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網