IRONSOFTWAREHOME
USING IRONPRINT

如何在 C# 中将文件打印到打印机

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

从C#应用程序直接打印PDF文件可以是一项有价值的功能,特别是在开发需要与物理PDF文档无缝集成的应用程序时。 无论您是在开发PDF文档管理系统、销售点应用程序,还是处理打印的其他软件,C#都提供了一套强大的库来支持这种PDF打印方法的功能。

为此,微软的C#提供了打印方法,用于将PDF文件打印到默认打印机。 在本文中,我们将探讨使用C#将PDF文件打印到打印机的步骤。

如何在C#中打印文件到打印机

  1. 创建一个C# Windows窗体应用程序
  2. 使用关键字导入System.Drawing.Printing
  3. 使用按钮和其他必要控件设计窗体
  4. 使用PrintPage事件处理PrintDocument事件
  5. 启动打印作业
  6. 运行应用程序并点击打印按钮进行打印

前提条件

在开始之前,请确保您已具备以下先决条件:

  1. 一个C#开发环境(例如,Visual Studio)。
  2. 与打印机交互的足够权限。
  3. 对C#编程的基本理解。

步骤1:设置您的项目

在您首选的开发环境中创建一个新的C#项目或打开一个现有项目。 确保您的项目配置正确,并且您具有与打印机交互的必要权限。 以下过程允许您完成此过程:

安装Visual Studio

如果您没有安装Visual Studio,请从官方网站下载并安装:Visual Studio

创建新项目

  1. 打开 Visual Studio。
  2. 点击"创建新项目"。

如何在C#中将文件打印到打印机:图1 - 新项目

选择项目模板

  1. 在"创建新项目"对话框中,根据您的偏好选择"Windows Forms App (.NET Framework)"或"Windows Forms App (.NET Core)"。

如何在C#中将文件打印到打印机:图2 - Windows Forms应用

  1. 为您的项目提供一个名称和位置。

如何在C#中将文件打印到打印机:图3 - 项目配置

  1. 点击"下一步",从附加信息屏幕中选择.NET Framework,然后点击"创建"。

设计窗体

  1. 一旦项目创建完毕,主窗体将在设计器中显示。
  2. 使用工具箱将按钮、文本框、标签等控件添加到窗体中。
  3. 使用属性窗口自定义每个控件的属性。

如何在C#中将文件打印到打印机:图4 - 表单设计

  1. 调整窗体的外观和布局。

如何在C#中将文件打印到打印机:图5 - 打印表单

步骤2:导入必要库

在您的C#代码文件中,导入必要的命名空间以访问与打印相关的类和方法。

using System.Drawing.Printing;

这些命名空间提供了处理打印操作的基本类,如PrintDocumentPrintPageEventArgsPrintController

步骤3:处理PrintDocument事件

PrintDocument类是C#打印的基石。 处理其PrintPage事件以定义打印内容和格式。 让我们以打印文本文件内容的简单示例开始:

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    // Specify the file path
    string filePath = "C:\\path\\to\\your\\file.txt";
    // Read the content of the file
    string line = System.IO.File.ReadAllText(filePath);
    // Create a Font object (adjust as needed)
    Font font = new Font("Arial", 12);
    // Create a RectangleF to define the printing area
    RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
    // Draw the content to the printing area
    e.Graphics.DrawString(line, font, Brushes.Black, area);
    // Set HasMorePages to false to indicate that there are no more pages to print
    e.HasMorePages = false;
}

此示例读取文本文件的内容,并使用指定的字体和格式进行打印。

步骤4:启动打印作业

通过创建PrintDocument类的实例、附加PrintPage事件处理程序,然后触发打印过程来启动打印作业。 可以选择显示打印对话框以供用户配置:

private void btnPrint_Click(object sender, EventArgs e)
{
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
    // Optionally, display a print dialog for user configuration
    PrintDialog printDialog = new PrintDialog();
    if (printDialog.ShowDialog() == DialogResult.OK)
    {
        pd.PrinterSettings = printDialog.PrinterSettings;
        pd.Print();
    }
}

此代码创建一个PrintDocument实例,附加PrintPage事件处理程序,然后打印文档。 可选的打印对话框允许用户在启动打印作业之前配置打印设置。 这将文本文档打印到本地连接的打印机。 如果不存在,则文件打印到打印对话框中默认打印机名称(Microsoft Print to PDF),如下所示:

如何在C#中将文件打印到打印机:图6 - Microsoft打印对话框

通过IronPrint库在C#中进行高级打印

在有效和高效地处理C#控制台应用程序中的打印功能时,IronPrint库提供了强大的解决方案。

IronPrint简介

IronPrint是由Iron Software开发的一个全面的打印库,旨在与.NET应用程序无缝集成。 无论您是在开发桌面、网页或移动项目,IronPrint提供了多种打印PDF文档的功能,支持各种文件格式并提供可定制的打印设置。

如何在C#中将文件打印到打印机:图7 - IronPrint

主要功能

  1. **格式支持:**IronPrint 支持多种文档格式,包括 PDF、PNG、TIFF、GIF、JPEG 和 BITMAP。这种多功能性确保开发人员可以处理不同类型的打印内容。
  2. **可自定义设置:**开发人员可以根据其应用程序的要求自定义打印设置。 这包括设置 DPI(每英寸点数)、指定纸张方向(纵向或横向)以及控制复印份数等选项。 3.打印对话框: IronPrint 允许开发人员在打印前显示打印对话框,从而提供无缝的用户体验。 这在用户必须与打印过程交互并选择特定选项的情况下非常有用。 4.静音打印: IronPrint提供静音打印功能,这对于自动化和提高工作流程效率尤为有利。 这允许开发者在无需用户交互的情况下打印发票,消除了手动干预的需要并简化了整体过程。
  3. **跨平台兼容性:**IronPrint 打破了平台限制,提供与多种环境兼容,包括 Windows (7+)、macOS (10+)、iOS (11+) 和 Android API 21+ (v5 "Lollipop")。 它与各种项目类型无缝集成,如移动端(Xamarin、MAUI& Avalonia)、桌面端(WPF、MAUI & Windows Avalonia)和控制台(应用程序&库)。
  4. **广泛的 .NET 版本支持:**无论您是使用最新的 .NET 8、7、6 还是 Core 3.1+,IronPrint 都能满足您的需求。 它还支持.NET Framework(4.6.2+),确保了跨各种开发环境的兼容性。

安装IronPrint

在深入了解文件打印之前,您需要安装IronPrint库。 您可以通过NuGet包管理器控制台轻松完成此操作:

PM > Install-Package IronPrint

此命令行将下载并安装IronPrint库到您的C#项目中。

初始化IronPrint

一旦安装了IronPrint,您需要在C#代码中初始化它。 导入IronPrint命名空间,并设置许可证密钥以确保正确的功能:

using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
    }
}

使用IronPrint打印文件

使用IronPrint打印文件非常简单。 您可以使用Printer类,指定文件路径到Print方法来静默打印PDF:

using IronPrint;
class Program
{
    public static void Main()
    {
        License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        // Specify the file path
        var document = "C:\\path\\to\\your\\file.pdf";
        // Print PDFs
        Printer.Print(document);
    }
}

静默打印的好处是不需要任何用户交互来打印PDF,这对于需要自动化以简化工作流程的情况十分有帮助。 对于需要用户交互的情况,比如在打印前弹出对话框,您可以使用ShowPrintDialog,这将实现相同的结果,只是在此之前会有一个对话框步骤。

虽然这个例子只显示了打印PDF文件,但IronPrint还支持多种文件格式,包括PDF、PNG、TIFF、GIF、JPEG、IMAGE和BITMAP。

自定义打印设置

IronPrint允许您根据应用程序的要求自定义打印设置。 您可以使用PrintSettings类配置设置,如DPI、份数、纸张方向等等。 以下代码示例可以帮助您设置页面设置并打印PDF文件:

using IronPrint;
class Program
{
    public static void Main()
    {
        IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
        Console.WriteLine("Printing Started...");
        // Specify the file path
        string filePath = "C:\\path\\to\\your\\file.pdf";
        // Configure print settings
        PrintSettings printSettings = new PrintSettings();
        printSettings.Dpi = 300;
        printSettings.NumberOfCopies = 2;
        printSettings.PaperOrientation = PaperOrientation.Landscape;
        // Print the document with custom settings
        Printer.Print(filePath, printSettings);
        // Print using the Print dialog
        Printer.ShowPrintDialog(filePath, printSettings);
    }
}

输出如下所示:

如何在C#中将文件打印到打印机:图8 - 定制化打印输出

如果未安装物理打印机,则默认打印机用于打印PDF文档。 要获取所有可用的打印机,您还可以使用GetPrinterNames方法。

// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
    Console.WriteLine(printer);
}

有关更详细的信息,请访问文档页面

结论

using System.Drawing.Printing 命名空间提供的功能,在 C# 中打印文件是一项易于管理的任务。 通过处理 PrintPage 事件和利用 PrintDocument 类,您可以根据自己的具体要求定制打印过程。 本综合指南涵盖了从C#应用程序打印文件的基本步骤,为将此功能集成到您的项目中提供了坚实的基础。

对于寻求先进功、具有可扩展性及自动化的开发者,IronPrint是理想的解决方案。 其直观的API及附加功能超越了微软提供的基本包。 随着我们深入了解IronPrint,我们发现了一系列的自定义选项,包括支持多种文件类型、加入图像的能力,以及为了更好地契合应用程序特定需求而在格式上的增强。

将IronPrint集成到您的C#应用程序中简化了将文件打印到打印机的过程。 通过支持多种文件格式和可定制的打印设置,IronPrint为希望提升打印能力的开发人员提供了强大的解决方案。 无论您是在开发桌面、网页或移动项目,IronPrint简化了打印过程,使其成为您的.NET工具包中有价值的补充。 通过浏览我们的免费试用页面,发现IronPrint的好处。 从这里下载库并亲自体验其功能!

IronPrint提供了一个免费试用页面以获取更多信息。 从这里下载库文件并试用一下。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户