在现代高效的业务环境中,从应用程序中直接打印文档的需求十分常见,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.FromPage
和ToPage
属性以指定打印页面范围。 - 使用
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 PDF
或 Microsoft 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 教程。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。