在现代高效的业务环境中,从应用程序中直接打印文档的需求十分常见,C# 程序员常常需要在项目程序中实现Word文档的打印功能。本文将探讨如何利用 C# 顺利集成 Word 文档的打印功能,轻松在应用程序中实现打印需求,简化工作流程。

在 .NET 项目中使用 C# 实现 Word 文档打印的方法包括:

  • 使用 C# 打印 Word 文档
  • 使用 C# 静默打印 Word 文档
  • 使用 C# 将 Word 文档打印为 PDF
  • 使用 C# 在自定义纸张上打印 Word 文档

本文介绍的方法需要使用 Spire.Doc for .NET 库。可以通过 NuGet 安装:PM> Install-Package Spire.Doc

申请免费许可

使用 C# 打印 Word 文档的方法

通过使用 PrintDocument 类,程序员可以将 Word 文档发送至特定的打印机,并设置页面范围、打印份数、双面打印以及纸张大小等打印选项。以下是打印 Word 文档的步骤:

  • 创建 Document 对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档。
  • 通过 Document.PrintDocument 属性获取 PrintDocument 对象。
  • 使用 PrintDocument.PrinterSettings.PrinterName 属性指定打印机名称。
  • 设置 PrintDocument.PrinterSettings.FromPageToPage 属性以指定打印页面范围。
  • 使用 PrintDocument.PrinterSettings.Copies 属性指定打印份数。
  • 调用 PrintDocument.Print() 方法执行打印。

代码示例

using Spire.Doc;
using System.Drawing.Printing;

namespace PrintWordDocument
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建文档对象
            Document doc = new Document();

            // 加载 Word 文档
            doc.LoadFromFile("Sample.docx");

            // 获取 PrintDocument 对象
            PrintDocument printDoc = doc.PrintDocument;

            // 指定打印机名称
            printDoc.PrinterSettings.PrinterName = "HP Color LaserJet MFP";

            // 设置打印页面范围
            printDoc.PrinterSettings.FromPage = 1;
            printDoc.PrinterSettings.ToPage = 10;

            // 设置打印份数
            printDoc.PrinterSettings.Copies = 1;

            // 打印文档
            printDoc.Print();
        }
    }
}

使用 C# 静默打印 Word 文档

静默打印(Silent Printing)指的是在不显示打印过程或打印状态的情况下执行打印。要启用静默打印,可以将 PrintController 设置为 StandardPrintController。具体步骤如下:

  • 创建 Document 对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档。
  • 通过 Document.PrintDocument 属性获取 PrintDocument 对象。
  • 使用 PrintDocument.PrinterSettings.PrinterName 属性指定打印机名称。
  • PrintDocument.PrintController 属性设置为 StandardPrintController
  • 调用 PrintDocument.Print() 方法执行打印。

代码示例

using Spire.Doc;
using System.Drawing.Printing;

namespace SilentlyPrintWord
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建文档对象
            Document doc = new Document();

            // 加载 Word 文档
            doc.LoadFromFile("Sample.docx");

            // 获取 PrintDocument 对象
            PrintDocument printDoc = doc.PrintDocument;

            // 指定打印机名称
            printDoc.PrinterSettings.PrinterName = "HP Color LaserJet MFP";

            // 设置打印控制器为 StandardPrintController
            printDoc.PrintController = new StandardPrintController();

            // 打印文档
            printDoc.Print();
        }
    }
}

使用 C# 将 Word 文档打印为 PDF

除了将 Word 文档打印到物理打印机之外,还可以使用虚拟打印机(如 Microsoft Print to PDFMicrosoft XPS Document Writer)将文档打印为 PDF。以下是将 Word 打印为 PDF 的步骤:

  • 创建 Document 对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档。
  • 通过 Document.PrintDocument 属性获取 PrintDocument 对象。
  • PrintDocument.PrinterSettings.PrinterName 属性设置为 "Microsoft Print to PDF"。
  • 指定输出文件的路径和名称,设置 PrintDocument.PrinterSettings.PrintFileName 属性。
  • 调用 PrintDocument.Print() 方法执行打印。

代码示例

using Spire.Doc;
using System.Drawing.Printing;

namespace PrintWordToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建文档对象
            Document doc = new Document();

            // 加载 Word 文档
            doc.LoadFromFile("Sample.docx");

            // 获取 PrintDocument 对象
            PrintDocument printDoc = doc.PrintDocument;

            // 设置为文件打印
            printDoc.PrinterSettings.PrintToFile = true;

            // 指定打印机为 Microsoft Print to PDF
            printDoc.PrinterSettings.PrinterName = "Microsoft Print to PDF";

            // 指定输出文件的路径和名称
            printDoc.PrinterSettings.PrintFileName = "ToPDF.pdf";

            // 打印文档
            printDoc.Print();
        }
    }
}

使用 C# 在自定义纸张上打印 Word 文档

当需要特定尺寸的打印需求时,设置纸张大小至关重要。在自定义纸张上打印 Word 文档的步骤如下:

  • 创建 Document 对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档。
  • 通过 Document.PrintDocument 属性获取 PrintDocument 对象。
  • 使用 PrintDocument.PrinterSettings.PrinterName 属性指定打印机名称。
  • 设置 PrintDocument.DefaultPageSettings.PaperSize 属性指定纸张大小。
  • 调用 PrintDocument.Print() 方法执行打印。

代码示例

using Spire.Doc;
using System.Drawing.Printing;

namespace PrintOnCustomSizedPaper
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建文档对象
            Document doc = new Document();

            // 加载 Word 文档
            doc.LoadFromFile("Sample.docx");

            // 获取 PrintDocument 对象
            PrintDocument printDoc = doc.PrintDocument;

            // 指定打印机名称
            printDoc.PrinterSettings.PrinterName = "HP Color LaserJet MFP";

            // 设置自定义纸张大小
            printDoc.DefaultPageSettings.PaperSize = new PaperSize("custom", 500, 800);

            // 打印文档
            printDoc.Print();
        }
    }
}

本文介绍了如何在 .NET 程序中使用 C# 实现 Word 文档的打印功能。

有关 Word 文档操作的更多提示,请参阅 Spire.Doc for .NET 教程


大丸子
12 声望3 粉丝