如何在 C# 中设置打印纸张尺寸
IronPrint 的 PrintSettings 类允许开发者通过 PaperSize 属性直接控制纸张尺寸。 我们从 PaperSize 枚举中分配一个值(例如 PaperSize.A4 或 PaperSize.Letter),并将配置好的 PrintSettings 对象传递给 IronPrint 的任意打印方法。 打印机随后会使用该确切纸张尺寸来处理该任务。
本指南将通过可运行的 C# 代码,逐步演示如何设置标准纸张尺寸、将纸张尺寸与其他打印设置结合使用,以及如何进行异步打印。
快速入门:设置纸张尺寸
- 通过 NuGet 安装 IronPrint:
Install-Package IronPrint - 在文件中添加
using IronPrint; - 创建一个
PrintSettings对象 - 将
PaperSize设置为PaperSize枚举中的任意值(例如PaperSize.A4) - 将参数传递给
Printer.Print()或Printer.PrintAsync()
最小工作流程(5 个步骤)
- 安装 IronPrint C# 打印库
- 创建一个
PrintSettings对象 - 通过
PaperSize枚举设置纸张尺寸 - 将设置传递给
Printer.Print() - 运行该项目以在所选纸张尺寸上打印
如何在 C# 中设置打印纸张尺寸?
我们通过将 PaperSize 枚举中的某个值赋给 PrintSettings 对象的 PaperSize 属性来设置纸张尺寸。 然后我们将该对象传递给 IronPrint 的任何打印方法。
:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-set-paper-size.cs
using IronPrint;
// Configure print settings with US Letter paper
PrintSettings settings = new PrintSettings();
settings.PaperSize = PaperSize.Letter;
// Print to the default printer
Printer.Print("invoice.pdf", settings);
Imports IronPrint
' Configure print settings with US Letter paper
Dim settings As New PrintSettings()
settings.PaperSize = PaperSize.Letter
' Print to the default printer
Printer.Print("invoice.pdf", settings)
首先实例化 PrintSettings,该对象将使用打印机的默认设置进行初始化。 随后我们将 PaperSize 替换为 PaperSize.Letter,这对应于标准的 8.5 × 11 英寸格式。 当我们调用 Printer.Print 时,IronPrint 会使用该纸张尺寸将文档发送至系统的默认打印机。
如果未指定 PaperSize,IronPrint 将使用 PaperSize.PrinterDefault,该设置将采用操作系统默认打印机配置的纸张尺寸。 对于打印机配置因机器而异的生产环境而言,这是至关重要的细节。
该库支持哪些纸张尺寸?
PaperSize 枚举包含十二个值,涵盖 ISO 国际标准、美国常用尺寸以及打印机默认设置。 下表列出了所有可用的选项。
| 枚举值 | 标准 | 尺寸(毫米) | 尺寸(英寸) |
|---|---|---|---|
PaperSize.A0 |
ISO A0 | 841 × 1189 | 33.1 × 46.8 |
PaperSize.A1 |
ISO A1 | 594 × 841 | 23.4 × 33.1 |
PaperSize.A2 |
ISO A2 | 420 × 594 | 16.5 × 23.4 |
PaperSize.A3 |
ISO A3 | 297 × 420 | 11.7 × 16.5 |
PaperSize.A4 |
ISO A4 | 210 × 297 | 8.3 × 11.7 |
PaperSize.A5 |
ISO A5 | 148 × 210 | 5.8 × 8.3 |
PaperSize.B4 |
ISO B4 | 250 × 353 | 9.8 × 13.9 |
PaperSize.B5 |
ISO B5 | 176 × 250 | 6.9 × 9.8 |
PaperSize.Letter |
美国信函 | 216 × 279 | 8.5 × 11.0 |
PaperSize.Legal |
美国法律 | 216 × 356 | 8.5 × 14.0 |
PaperSize.Executive |
美国高管 | 184 × 267 | 7.25 × 10.5 |
PaperSize.PrinterDefault |
打印机默认设置 | 不同 | 不同 |
每个数值均直接对应于公认的纸张标准。 PrinterDefault 选项指示 IronPrint 使用打印机当前配置的任何纸张尺寸——当您希望尊重最终用户的打印机偏好而非强制采用特定格式时,此选项非常有用。
如需完整的 API 参考,请参阅 PaperSize 类文档。
如何将纸张尺寸与其他打印设置结合使用?
PrintSettings 类除了 PaperSize 之外,还提供了若干属性。 我们可以配置页面方向、DPI、页边距、复印份数和灰度模式——所有设置均可在一个对象中完成。
:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-combined-settings.cs
using IronPrint;
// Configure full print settings
PrintSettings settings = new PrintSettings
{
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Landscape,
Dpi = 300,
NumberOfCopies = 3,
PaperMargins = new Margins(15, 15, 15, 15),
Grayscale = false
};
// Print the quarterly report
Printer.Print("quarterly-report.pdf", settings);
Imports IronPrint
' Configure full print settings
Dim settings As New PrintSettings With {
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Landscape,
.Dpi = 300,
.NumberOfCopies = 3,
.PaperMargins = New Margins(15, 15, 15, 15),
.Grayscale = False
}
' Print the quarterly report
Printer.Print("quarterly-report.pdf", settings)
此处为清晰起见,采用了对象初始化器语法。 Orientation 将 A4 纸张旋转至其较宽的一边。 DPI 设置为 300 可确保图表和细小文字的输出清晰锐利。 Margins 通过 Margins 构造函数接受四个以毫米为单位的值——顶部、右侧、底部、左侧。 CopyCount 属性的默认值为 1,但为了提高可读性,我们在此进行了显式设置。
这些特性能够协同工作且互不冲突。 IronPrint 会验证配置,并将合并后的设置作为单个打印作业传递给打印机驱动程序。 有关打印机选择和纸盒配置等高级设置,请参阅完整的打印设置指南。
如何使用自定义纸张尺寸进行异步打印?
对于无法阻塞主线程的应用程序(例如 WPF 或 WinForms 应用程序),我们使用 Printer.PrintAsync。 该方法接受相同的 PrintSettings 对象,并返回一个 Task。
:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-async-print.cs
using IronPrint;
using System.Threading.Tasks;
public class DocumentPrinter
{
public async Task PrintLegalDocumentAsync(string filePath)
{
// Configure Legal paper size
PrintSettings settings = new PrintSettings
{
PaperSize = PaperSize.Legal,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300
};
// Print asynchronously
await Printer.PrintAsync(filePath, settings);
}
}
Imports IronPrint
Imports System.Threading.Tasks
Public Class DocumentPrinter
Public Async Function PrintLegalDocumentAsync(filePath As String) As Task
' Configure Legal paper size
Dim settings As New PrintSettings With {
.PaperSize = PaperSize.Legal,
.PaperOrientation = PaperOrientation.Portrait,
.Dpi = 300
}
' Print asynchronously
Await Printer.PrintAsync(filePath, settings)
End Function
End Class
这个基于类的示例演示了一个真实的模式,其中 DocumentPrinter 服务封装了打印逻辑。 我们采用 PaperSize.Legal(8.5 × 14 英寸)的排版规格,这是合同和法律文件的标准格式。 await 关键字可确保在 IronPrint 处理打印任务期间,调用线程保持响应状态。
我们可以通过按钮点击处理程序、后台服务,或在任何支持 await 的位置调用此方法。 IronPrint 的异步方法(包括 PrintAsync 和 ShowPrintDialogAsync)支持相同的 PrintSettings 配置,因此同步和异步路径中的纸张尺寸处理行为完全一致。
我的下一个步骤是什么?
我们详细介绍了如何在 C# 中使用 IronPrint 的 PaperSize 枚举设置纸张尺寸,内容涵盖从基础的单属性配置到组合设置及异步打印。 PrintSettings 类提供了一个简洁、强类型的 API,消除了对纸张尺寸的猜测。
继续探索 IronPrint 的功能:
立即开始 30天试用,在您的项目中测试纸张尺寸配置,或查看用于生产部署的许可选项。
PaperOrientation.Landscape
Dpi
PaperMargins
Margins
Grayscale
false
常见问题解答
什么是IronPrint以及它如何帮助设置C#中的纸张尺寸?
IronPrint是一个简化C#中打印任务的库。它允许开发人员使用直观的代码示例轻松配置A4、Letter和Legal等纸张尺寸。
我可以使用IronPrint在C#中设置自定义纸张尺寸吗?
是的,IronPrint使您能够在C#中为打印设置自定义纸张尺寸。您可以定义符合特定打印要求的尺寸。
如何使用IronPrint将纸张尺寸更改为A4?
要使用IronPrint将纸张尺寸更改为A4,您需要在代码中配置纸张尺寸设置。IronPrint提供了一个简单的方法,以最小的编码努力来设置A4纸张尺寸。
IronPrint支持C#中的Legal纸张尺寸配置吗?
是的,IronPrint支持C#中的Legal纸张尺寸配置。您可以通过调整打印设置代码中的纸张尺寸设置轻松设置为Legal。
是否可以使用IronPrint在不同纸张尺寸之间切换?
绝对可以,IronPrint允许您通过修改C#应用程序中的纸张尺寸设置在A4、Letter和Legal等不同纸张尺寸之间切换。

