动态

详情 返回 返回

C# 使用 Spire.Doc 實現企業級 Word 文檔打印方案 - 动态 详情

在.NET生態中,傳統打印方案存在兩大核心問題:

  1. System.Drawing.Printing 需手動處理分頁邏輯、打印機配置複雜(API設計超過20個類)
  2. Word.Interop 依賴本地Office安裝,無法在Server環境穩定運行

如何實現無需Office環境的精準打印?本文將用Spire.Doc for .NET演示從頁面設置到批量打印的全流程。


一、.NET 打印組件核心優勢對比

對比維度 System.Printing Microsoft.Office.Interop Spire.Doc
環境依賴 需要.NET打印服務 Office客户端 純.NET庫
跨平台支持 Windows only Windows only 全平台
打印精度 專業級
API複雜度 中等

➤ Spire.Doc 可直接通過 Nuget 安裝

NuGet\Install-Package Spire.Doc

二、三步實現基礎打印(代碼示例)

// 步驟1:加載文檔
Document doc = new Document();
doc.LoadFromFile("合同模板.docx");

// 步驟2:創建 PrintDocument 對象用於打印操作
PrintDocument printDoc = doc.PrintDocument;

// 步驟3:執行打印
printDoc.Print();

三、高級打印配置指南(帶註釋説明)

Spire.Doc 提供了 PrinterSettings 類來自定義選項,常見用例如下:

1. 紙張大小設置:

printDoc.PrinterSettings.PaperSize = new PaperSize("custom", 600, 800);  

2. 設置打印份數:

printDoc.PrinterSettings.Copies = 3;   // 3份

3. 指定打印範圍:

// 僅打印1-5頁
printDoc.PrinterSettings.FromPage = 1;
printDoc.PrinterSettings.ToPage = 5; 

4. 靜默打印模式:

// 隱藏打印對話框
printDoc.PrintController = new StandardPrintController();

5. 雙面打印:

if (printDoc.PrinterSettings.CanDuplex)
{
    settings.Duplex = Duplex.Default;
}

【注意事項模塊】
⚠️ 內存管理:及時調用doc.Dispose()釋放資源
⚠️ 異常處理:用try-catch捕獲PrinterException(如缺紙、離線)

user avatar damonxiaozhi 头像
点赞 1 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.