如何在 C# 中设置打印 DPI

This article was translated from English: Does it need improvement?
Translated
View the article in English

DPI(每英寸点数)控制着打印分辨率——即打印机在每英寸纸张上放置的墨点数量。 更高的DPI能呈现更清晰的文本和更平滑的图像,但会增加处理时间和碳粉消耗。 较低的DPI打印速度更快,适用于内部草稿。 通过编程方式设置DPI可确保每项打印任务都符合应用程序要求的质量标准,而与用户的默认打印机配置无关。

IronPrintPrintSettings 类上公开了一个 Dpi 属性。 我们将该值设置为整数,将设置传递给 Printer.Print(),文档便会以指定的分辨率PRINT出来。 默认分辨率为 300 DPI,符合商业印刷标准。

快速入门:设置打印 DPI

  1. 通过 NuGet 安装 IronPrint:Install-Package IronPrint
  2. 在文件中添加 using IronPrint;
  3. 创建一个 PrintSettings 对象
  4. Dpi 设置为所需的分辨率(例如 300、600、1200)
  5. 将参数传递给 Printer.Print()Printer.ShowPrintDialog()
  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPrint

    PM > Install-Package IronPrint
  2. 复制并运行这段代码。

    using IronPrint;
    
    // Print a PDF at 600DPIfor high-quality output
    Printer.Print("report.pdf", new PrintSettings
    {
        Dpi = 600
    });
  3. 部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronPrint

    arrow pointer

如何在C#中设置打印DPI?

Dpi 属性在 PrintSettings 上接受任何正整数。 默认值为 300,这是商务文档的标准分辨率。 实际打印所用的DPI可能受物理打印机性能的限制——如果我们在最高支持 600DPI的打印机上设置 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;

// Configure 300 DPI for standard office quality
var officeSettings = new PrintSettings
{
    Dpi = 300
};

// Print the invoice
Printer.Print("invoice.pdf", officeSettings);
Imports IronPrint

' Configure 300 DPI for standard office quality
Dim officeSettings As New PrintSettings With {
    .Dpi = 300
}

' Print the invoice
Printer.Print("invoice.pdf", officeSettings)
$vbLabelText   $csharpLabel

在原生 .NET 环境中,控制打印分辨率需要创建 PrintDocument,访问 DefaultPageSettings.PrinterResolution,处理 PrintPage 事件,并使用 Graphics.DrawImage() 手动渲染内容。 此内容包含 15–25 行标准代码。 IronPrint 将其简化为设置对象上的一个整数属性。

不同打印任务应使用多少 DPI?

选择合适的DPI取决于内容类型和用途。 分辨率越高并不一定越好——对于文字密集型文档,它会增加打印缓冲区大小和打印时间,却无法带来肉眼可见的改善。

DPI 最适合 备注
72–150 内部草稿、校样、测试打印 输出速度快,碳粉消耗低
300 商业文件、发票、报告 IronPrint 默认; standard commercial quality
600 营销材料、图表、图表 图像清晰度显著提升,细线呈现更细腻
1200+ 摄影、档案管理、美术 需要兼容的打印机; large spool files

对于大多数应用场景,300DPI在质量与性能之间提供了最佳平衡。 建议从默认设置开始,仅当输出效果在图像清晰度或细节表现方面需要明显改善时,再适当提高设置。

如何将DPI与其他打印设置结合使用?

DPI 与其他 PrintSettings 属性协同工作,共同定义完整的打印作业。 我们可以在同一个对象中配置纸张尺寸、方向、页边距、份数和灰度模式。

:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-combine-dpi-with-settings.cs
using IronPrint;

// Combine 600 DPI with landscape A4 and grayscale output
var settings = new PrintSettings
{
    Dpi = 600,
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Landscape,
    PaperMargins = new Margins(10, 10, 10, 10),
    NumberOfCopies = 2,
    Grayscale = true
};

// Print the dashboard
Printer.Print("quarterly-dashboard.pdf", settings);
Imports IronPrint

' Combine 600 DPI with landscape A4 and grayscale output
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
}

' Print the dashboard
Printer.Print("quarterly-dashboard.pdf", settings)
$vbLabelText   $csharpLabel

Grayscale = true 设置为 600DPI可生成清晰的单色输出,非常适合图表和数据表。 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-configure 600 DPI for the dialog
var settings = new PrintSettings
{
    Dpi = 600,
    PaperSize = PaperSize.Letter
};

// Open the dialog with pre-selected DPI
Printer.ShowPrintDialog("design-proof.pdf", settings);
Imports IronPrint

' Pre-configure 600 DPI for the dialog
Dim settings As New PrintSettings With {
    .Dpi = 600,
    .PaperSize = PaperSize.Letter
}

' Open the dialog with pre-selected DPI
Printer.ShowPrintDialog("design-proof.pdf", settings)
$vbLabelText   $csharpLabel

对于非阻塞式 UI 场景,Printer.ShowPrintDialogAsync() 接受相同的参数,并保持应用程序的响应性。该对话框允许用户在打印前根据打印机支持的分辨率验证DPI设置——这在切换 600DPI办公激光打印机和 1200DPI照片打印机时非常有用。 对于无需用户交互的完全自动化工作流,请改用 Printer.Print() 实现静默打印

下一步

DPI 是 PrintSettings 对象上的一个整数——请将其设置为符合每个 PRINT 作业的质量要求。 商业文档起始字数为 300,图文并茂的输出内容则需增加至 600 字或更多。

请查阅各可用属性的打印设置指南Printer 类 API 参考文档以了解完整的方法接口,以及代码示例页面获取可直接运行的代码片段。 IronPrint 教程详细介绍了完整的打印生命周期,变更日志则记录了最近的更新。

立即开始 30天试用,在实际项目中测试DPI设置。 准备就绪后,请查看起始于 $999 的许可选项

常见问题解答

打印中的DPI是什么?

DPI代表每英寸点数,指的是打印文档的分辨率。较高的DPI设置带来较高质量的打印。

如何使用IronPrint设置打印DPI?

您可以通过配置PrintSettings.Dpi属性来设置IronPrint中的打印DPI。默认值是300 DPI,但可以根据打印作业的具体需求进行调整。

IronPrint的默认DPI设置是多少?

IronPrint的默认DPI设置是300 DPI,适用于大多数标准打印作业。

为什么我需要调整DPI设置?

调整DPI设置允许您控制打印文档的分辨率和质量。对于高质量打印,您可能需要增加DPI,而较低的DPI设置可用于草稿或对细节要求较低的打印。

是否可以为不同的打印作业设置不同的DPI?

是的,IronPrint允许您为每个单独的打印作业调整DPI,提供灵活性以满足不同的打印需求。

如果我在IronPrint中设置了非常高的DPI会发生什么?

设置非常高的DPI可以提高打印质量,但也可能导致更大的文件大小和更长的处理时间。重要的是根据所需的质量和平衡性能要求来设置DPI。

我可以使用IronPrint打印高分辨率图像吗?

是的,IronPrint通过允许您调整DPI设置来支持高分辨率打印,确保您的图像以所需的清晰度和细节打印。

更改DPI会影响打印作业的文件大小吗?

是的,增加DPI可能导致更大的文件大小,因为渲染更高分辨率的打印需要更多数据。重要的是在打印质量和文件大小之间权衡。

标准文档的推荐DPI设置是多少?

对于标准文档,通常建议的DPI设置为300,因为它在打印质量和性能之间提供了良好的平衡。

IronPrint在管理打印质量方面如何帮助?

IronPrint提供工具来配置,例如DPI,允许用户根据特定需求定制打印文档的分辨率和质量。

Curtis Chau
技术作家

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

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 41,154 | 版本: 2026.5 just released
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPrint
运行示例 观看您的文档打到打印机上。