如何在 C# 中设置打印 DPI
DPI(每英寸点数)控制着打印分辨率——即打印机在每英寸纸张上放置的墨点数量。 更高的 DPI 能呈现更清晰的文本和更平滑的图像,但会增加处理时间和碳粉消耗。 较低的 DPI 打印速度更快,适用于内部草稿。 通过编程方式设置 DPI 可确保每项打印任务都符合应用程序要求的质量标准,而与用户的默认打印机配置无关。
IronPrint 在 PrintSettings 类上提供了 Dpi 属性。 我们将它设置为一个整数值,将设置传递给 Printer.Print(),文档便会以指定的分辨率打印出来。 默认分辨率为 300 DPI,符合商业印刷标准。
快速入门:设置打印 DPI
- 通过 NuGet 安装 IronPrint:
Install-Package IronPrint - 在文件中添加
using IronPrint; - 创建一个
PrintSettings对象 - 将
Dpi设置为所需的分辨率(例如 300、600、1200) - 将设置传递给
Printer.Print()或Printer.ShowPrintDialog()
最小工作流程(5 个步骤)
- 安装 IronPrint C# 打印库
- 创建一个
PrintSettings对象 - 将
Dpi设置为所需的分辨率 - 将设置传递给
Printer.Print() - 运行该项目以配置的 DPI 进行打印
如何在 C# 中设置打印 DPI?
PrintSettings 上的 Dpi 属性接受任何正整数。 默认值为 300,这是商务文档的标准分辨率。 实际打印所用的 DPI 可能受物理打印机性能的限制——如果我们在最高支持 600 DPI 的打印机上设置 1200 DPI,打印机将使用其支持的最高分辨率。
:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-office-and-high-res-dpi.cs
using IronPrint;
// Standard office quality (300 DPI)
var officeSettings = new PrintSettings
{
Dpi = 300
};
Printer.Print("invoice.pdf", officeSettings);
// High-resolution output (600 DPI)
var highResSettings = new PrintSettings
{
Dpi = 600
};
Printer.Print("photo-proof.png", highResSettings);
Imports IronPrint
' Standard office quality (300 DPI)
Dim officeSettings As New PrintSettings With {
.Dpi = 300
}
Printer.Print("invoice.pdf", officeSettings)
' High-resolution output (600 DPI)
Dim highResSettings As New PrintSettings With {
.Dpi = 600
}
Printer.Print("photo-proof.png", highResSettings)
在原生 .NET 环境中,要控制打印分辨率,需要创建 PrintDocument 对象,访问 DefaultPageSettings.PrinterResolution,处理 PrintPage 事件,并使用 Graphics.DrawImage() 手动渲染内容。 此内容包含 15–25 行标准代码。 IronPrint 将其简化为设置对象上的一个整数属性。
不同打印任务应使用多少 DPI?
选择合适的 DPI 取决于内容类型和用途。 分辨率越高并不一定越好——对于文字密集型文档,它会增加打印缓冲区大小和打印时间,却无法带来肉眼可见的改善。
| DPI | 最适合 | 备注 |
|---|---|---|
| 72–150 | 内部草稿、校样、测试打印 | 输出速度快,碳粉消耗低 |
| 300 | 商业文件、发票、报告 | IronPrint 默认; 标准商业质量 |
| 600 | 营销材料、图表、图表 | 图像清晰度显著提升,细线呈现更细腻 |
| 1200+ | 摄影、档案管理、美术 | 需要兼容的打印机; 大型打印缓冲文件 |
对于大多数应用场景,300 DPI 在质量与性能之间提供了最佳平衡。 建议从默认设置开始,仅当输出效果在图像清晰度或细节表现方面需要明显改善时,再适当提高设置。
如何将 DPI 与其他打印PDF设置结合使用?
DPI 与其他 PrintSettings 属性协同工作,共同定义完整的打印作业。 我们可以在同一个对象中配置纸张尺寸、方向、页边距、份数和灰度模式。
:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-combine-dpi-with-settings.cs
using IronPrint;
var settings = new PrintSettings
{
Dpi = 600,
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Landscape,
PaperMargins = new Margins(10, 10, 10, 10),
NumberOfCopies = 2,
Grayscale = true
};
Printer.Print("quarterly-dashboard.pdf", settings);
Imports IronPrint
Dim settings As New PrintSettings With {
.Dpi = 600,
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Landscape,
.PaperMargins = New Margins(10, 10, 10, 10),
.NumberOfCopies = 2,
.Grayscale = True
}
Printer.Print("quarterly-dashboard.pdf", settings)
将 Grayscale = true 设置为 600 DPI 可生成清晰的单色输出,非常适合图表和数据表。 PaperMargins 处的数值单位为毫米。
如何让用户在打印对话框中调整 DPI?
当我们将 PrintSettings 传递给 Printer.ShowPrintDialog() 时,对话框将以我们预设的 DPI 打开。 用户可以在打印前接受该设置或调整分辨率。
:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-dialog-with-dpi-preset.cs
using IronPrint;
// Pre-select 600 DPI, but let the user override
var settings = new PrintSettings
{
Dpi = 600,
PaperSize = PaperSize.Letter
};
Printer.ShowPrintDialog("design-proof.pdf", settings);
IRON VB CONVERTER ERROR developers@ironsoftware.com
对于非阻塞式 UI 场景,Printer.ShowPrintDialogAsync() 接受相同的参数,并保持应用程序的响应性。该对话框允许用户在打印前核对 DPI 是否与打印机支持的分辨率一致——这在切换 600 DPI 办公激光打印机和 1200 DPI 照片打印机时非常有用。 对于无需用户交互的完全自动化工作流,请改用 Printer.Print() 进行静默打印。
下一步
DPI 是 PrintSettings 对象上的一个整数参数——请将其设置为符合每个打印作业的质量要求。 商业文档起始字数为 300,图文并茂的输出内容则需增加至 600 字或更多。
请查阅各可用属性的打印设置指南、Printer 类 API 参考文档以了解完整的方法接口,以及代码示例页面获取可直接运行的代码片段。 IronPrint 教程详细介绍了完整的打印生命周期,变更日志则记录了最近的更新。
立即开始 30天试用,在实际项目中测试 DPI 设置。 准备就绪后,请查看起价为 749 美元的许可方案。

