
如何在 C# Windows 应用程序中打印 PDF 文件
可移植文档格式(PDF),有时也称为ISO 32000,是由Adobe于1992年创建,是一种文件格式,允许文档的演示,其中包含文本格式和图形,而不依赖于操作系统、硬件或应用软件。 PDF文件是一种平面文档的解释,具有定义的布局,包括显示所需的所有文本、字体、光栅图像、矢量图形和其他数据。 它是基于PostScript构建的。
通过从.NET C#代码向打印机发送PDF来自动化打印过程,节省人工,确保PDF文件创建的一致性,并让您可以将打印功能集成到应用中。它提供了对打印过程的精细控制。
在本文中,我们将在 C# Windows 应用程序中打印一个 PDF 文件。
如何在 C# Windows 应用程序中打印 PDF 文件
- 创建一个新的Windows项目。
- 从NuGet安装IronPrint库。
- 导入库。
- 编写代码导入PDF文件。
- 实现逻辑并处理异常。
- 打印文件。
IronPrint
.NET C#应用程序的开发人员可以使用IronPrint,一个强大的C#打印库,帮助他们集成打印功能。 IronPrint是文档打印的可靠解决方案,无论您是在开发桌面、移动还是网络应用程序。
IronPrint的特性
- IronPrint兼容Windows、macOS、Android和iOS,在任何平台上都能顺畅运行。 无论您针对的是网络应用、移动应用还是桌面软件,IronPrint都能保证可靠的打印结果。
- 使用IronPrint可以打印以下格式的文档:PDF, PNG, HTML, TIFF, GIF, JPEG, 和BITMAP。
- 您可以通过应用程序代码直接打印文档。 可以轻松集成打印功能用于发票、报告和标签。
- 自动打印而无需显示对话框。 非常适合后台作业或无需用户参与的批处理。
- 调整参数如副本数、纸张尺寸、方向和DPI。 IronPrint让开发人员能够定制打印过程以满足特定需求。
- IronPrint通过类和方法提供与打印相关的某些功能。 对于开发人员,精确和全面的打印设置确保了简化的API。
- IronPrint提供异步打印、更多平台兼容性和改进的打印功能。
对于需要平滑文档输出的应用程序,IronPrint是一个重要工具,因为它为.NET开发人员提供了精确的打印控制。 研究IronPrint以增强您的程序中有效的文档打印功能。 要了解有关IronPrint的更多信息,请参阅此文档页面。
在 Visual Studio 中创建一个新项目
打开Visual Studio应用程序并点击文件菜单。 然后选择"新项目",接下来在C#中选择"窗口表单应用程序(.NET Framework)"。

选择项目位置后,将项目名称指定到分配的文本字段中。 接下来,选择必要的.NET Framework,然后单击创建按钮,如下示例所示。

接下来,Visual Studio项目的组织将取决于选择的应用程序。 只需打开Form1.cs文件即可开始添加代码并构建Windows表单应用程序。
代码可以然后进行测试并添加库。
安装IronPrint库
利用Visual Studio工具菜单,从工具菜单中选择NuGet包管理器。 要查看包管理终端控制台,请导航到包管理器界面。
下载和安装后,包现在可以用于正在进行的项目。

另一种选择是使用NuGet包管理器进行解决方案的方法。 使用Visual Studio,您可以使用NuGet包管理器将包直接安装到解决方案中。 下图说明了如何打开NuGet包管理器。

在NuGet网站上的搜索框中查找包。 只需在包管理器中搜索"IronPrint",就像下面的截图所示。

随附的图片显示了相关搜索结果列表。 请进行这些更改,以便在您的计算机上安装NuGet IronPrint库。
使用IronPrint打印PDF
借助IronPrint库,打印文件变得简单。 第一步是在默认创建项目的Windows表单中添加两个按钮来设计Windows表单。 第一个按钮是选择我们需要打印的PDF文档。 第二个按钮是触发打印PDF文档。

在此示例中,我们将使用几行代码打印PDF文件。
using System;
using System.Windows.Forms;
using IronPrint;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
// Constructor to initialize the form
public Form1()
{
InitializeComponent();
}
// Event handler for the first button click to open file dialog
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog(this);
}
// Event handler for the second button click to print the selected PDF
private void button2_Click(object sender, EventArgs e)
{
// Print the file silently with default settings
Printer.Print(openFileDialog1.FileName);
// Alternative: Configure print settings before printing
PrintSettings printSettings = new PrintSettings
{
Dpi = 150,
NumberOfCopies = 2,
PaperOrientation = PaperOrientation.Portrait
};
// Print with custom settings
Printer.Print(openFileDialog1.FileName, printSettings);
// Alternative: Show print dialog
Printer.ShowPrintDialog(openFileDialog1.FileName);
}
}
}Imports System
Imports System.Windows.Forms
Imports IronPrint
Namespace WindowsFormsApp1
Partial Public Class Form1
Inherits Form
' Constructor to initialize the form
Public Sub New()
InitializeComponent()
End Sub
' Event handler for the first button click to open file dialog
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
openFileDialog1.ShowDialog(Me)
End Sub
' Event handler for the second button click to print the selected PDF
Private Sub button2_Click(ByVal sender As Object, ByVal e As EventArgs)
' Print the file silently with default settings
Printer.Print(openFileDialog1.FileName)
' Alternative: Configure print settings before printing
Dim printSettings As New PrintSettings With {
.Dpi = 150,
.NumberOfCopies = 2,
.PaperOrientation = PaperOrientation.Portrait
}
' Print with custom settings
Printer.Print(openFileDialog1.FileName, printSettings)
' Alternative: Show print dialog
Printer.ShowPrintDialog(openFileDialog1.FileName)
End Sub
End Class
End Namespace在上述代码示例中使用IronPrint库,首先我们通过using IronPrint;将其导入到代码中。 然后我们帮助用户通过点击"选择文件"按钮,使用OpenFileDialog控件选择本地驱动器上可用的PDF文档。 选择PDF文件后,应用程序等待用户点击打印按钮。 点击打印按钮时,我们将输入的PDF文件传递到在IronPrint库的Printer类中可用的Print方法中。
Print方法允许我们以静默方式打印PDF文件,而不打开任何打印对话框。 在Print方法中传递文件名后,它将打印的PDF文件加载到对象中,并将文件发送到默认打印机。 现在,打印机将打印PDF文档。 打印对象允许我们传递两种类型的参数:一种是用于使用默认打印设置进行打印的PDF文件名或文件字节数组,另一种是用于指定打印机设置(如页面大小、纸张方向为纵向或横向方向、打印机名称、纸张边距、使用NumberOfCopies设置打印多份等)的PrintSetting参数。
如果我们不想静默打印文档,可以使用另一种方法ShowPrintDialog,它会打开打印对话框菜单,并允许我们选择打印机选项。 要了解有关IronPrint代码的更多信息,请参阅代码示例页面。
结论
总之,IronPrint是数字时代可访问性和知识共享力量的体现。 IronPrint是学者、爱好者和学生的宝贵资源,拥有大量涉及各学科、体裁和语言的印刷作品。 通过采用技术和数位化其收藏,IronPrint使这些宝贵资源对全球观众开放,打破信息界限,并促进前所未有的规模上的学习和探索。 作为启蒙的灯塔,IronPrint保存了过去,加强了现在,鼓励未来几代人在社会变迁之际,探索人类创造力与知识的辉煌。
经济实惠的IronPrint开发版本可用于免费下载以了解更多价格信息。欲了解Iron Software其他产品的更多信息,请访问他们的网站。

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


