IronPrint 操作指南 设置纸张边距 如何在 C# 中设置打印纸张边距 Curtis Chau 已更新:2026年3月2日 下载 IronPrint NuGet 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English 打印边距控制着文档内容与物理页面边缘之间的空白区域。 正确处理这些内容可避免文本被截断,确保不同打印机上的版式一致,并满足发票、报告及法律文件的排版要求。 IronPrint 的 Margins 类支持以毫米为单位输入值,并提供三种构造函数重载——统一、水平/垂直以及单边——因此我们只需一行代码即可满足任何版面布局需求。下面我们将逐一介绍这些方法,从安装到使用自定义边距进行打印。 快速入门:设置纸张边距 通过 NuGet 安装 IronPrint:Install-Package IronPrint 在文件中添加 using IronPrint; 创建一个 PrintSettings 对象 将 Margins 的值赋给 PaperMargins(单位为毫米) 将设置(包含文件路径)传递给 Printer.Print() 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPrint PM > Install-Package IronPrint 复制并运行这段代码。 using IronPrint; // Set 15 mm margins on all sides and print PrintSettings settings = new PrintSettings(); settings.PaperMargins = new Margins(15); Printer.Print("report.pdf", settings); 部署到您的生产环境中进行测试 通过免费试用立即在您的项目中开始使用IronPrint Free 30 Day Trial 最小工作流程(5 个步骤) 安装 IronPrint C# 打印库 创建一个 PrintSettings 对象 为 PaperMargins 赋值 Margins 将设置传递给 Printer.Print() 运行该项目以自定义页边距进行打印 如何设置四边等宽页边距? 最简单的构造函数接受一个整数,并将其均匀应用于所有四边。 我们将值以毫米为单位传递: :path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-uniform-margins.cs using IronPrint; // 20 mm margin on every side PrintSettings settings = new PrintSettings { PaperMargins = new Margins(20), PaperSize = PaperSize.A4 }; Printer.Print("invoice.pdf", settings); Imports IronPrint ' 20 mm margin on every side Dim settings As New PrintSettings With { .PaperMargins = New Margins(20), .PaperSize = PaperSize.A4 } Printer.Print("invoice.pdf", settings) $vbLabelText $csharpLabel Margins(20) 将 Right 和 Bottom 分别设置为 20 毫米。 这是标准商业文档中最常见的选择,此类文档仅需在每行两端保持一致的空格即可。 IronPrint 以毫米为单位测量边距,从而避免了 System.Drawing.Printing.Margins 类使用英寸百分之一单位所造成的混淆。 在 IronPrint 中,25.4 毫米的页边距等同于 new System.Drawing.Printing.Margins(100) —— 我们无需进行任何换算。 如何为每一侧设置不同的页边距? 当文档顶部需要额外空间放置页眉,或底部需要额外空间放置页脚时,我们使用四参数构造函数: :path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-per-side-margins.cs using IronPrint; // Left: 10 mm, Top: 25 mm, Right: 10 mm, Bottom: 20 mm PrintSettings settings = new PrintSettings { PaperMargins = new Margins(10, 25, 10, 20), PaperOrientation = PaperOrientation.Portrait }; Printer.Print("letterhead.pdf", settings); Imports IronPrint ' Left: 10 mm, Top: 25 mm, Right: 10 mm, Bottom: 20 mm Dim settings As New PrintSettings With { .PaperMargins = New Margins(10, 25, 10, 20), .PaperOrientation = PaperOrientation.Portrait } Printer.Print("letterhead.pdf", settings) $vbLabelText $csharpLabel 参数顺序为 left, top, right, bottom。 每个数值都是独立的,因此我们可以创建非对称布局,以适应页眉、页脚、装订边缘或打孔区域。 Margins 类的 API 参考文档对每个字段进行了详细说明。 常见的页边距布局有哪些简写选项? IronPrint 的 Margins 类除了统一版本和单面版本之外,还提供了两个额外的构造函数: 水平/垂直缩写 — Margins(int horizontal, int vertical) 将 left+right 设置为第一个值,top+bottom 设置为第二个值: :path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-shorthand-margins.cs using IronPrint; // 10 mm left & right, 20 mm top & bottom PrintSettings settings = new PrintSettings { PaperMargins = new Margins(10, 20) }; Printer.Print("report-landscape.pdf", settings); Imports IronPrint ' 10 mm left & right, 20 mm top & bottom Dim settings As New PrintSettings With { .PaperMargins = New Margins(10, 20) } Printer.Print("report-landscape.pdf", settings) $vbLabelText $csharpLabel 零边距 — Margins.Zero 移除所有边距以实现无边框打印: :path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-zero-margins.cs PrintSettings borderless = new PrintSettings { PaperMargins = Margins.Zero }; Printer.Print("poster.png", borderless); Dim borderless As New PrintSettings With { .PaperMargins = Margins.Zero } Printer.Print("poster.png", borderless) $vbLabelText $csharpLabel 请注意,大多数实体打印机都有硬件规定的最小可打印区域。 设置 Margins.Zero 会向驱动程序发送零边距指令,但根据打印机的具体性能,边缘附近的内容仍可能被裁切。 如何将页边距与其他打印文档设置结合使用? PaperMargins 是 PrintSettings 上的一个属性。 我们可以将纸张尺寸、方向、DPI、份数、灰度模式和打印机选择整合到一个配置对象中: :path=/static-assets/print/content-code-examples/how-to/set-paper-margins/set-paper-margins-combined-settings.cs using IronPrint; // Full print configuration for a quarterly report PrintSettings settings = new PrintSettings { PaperMargins = new Margins(15, 20, 15, 25), PaperSize = PaperSize.A4, PaperOrientation = PaperOrientation.Portrait, Dpi = 300, NumberOfCopies = 2, Grayscale = false, PrinterName = "HP LaserJet Pro MFP M428" }; Printer.Print("Q4-report.pdf", settings); Imports IronPrint ' Full print configuration for a quarterly report Dim settings As New PrintSettings With { .PaperMargins = New Margins(15, 20, 15, 25), .PaperSize = PaperSize.A4, .PaperOrientation = PaperOrientation.Portrait, .Dpi = 300, .NumberOfCopies = 2, .Grayscale = False, .PrinterName = "HP LaserJet Pro MFP M428" } Printer.Print("Q4-report.pdf", settings) $vbLabelText $csharpLabel 对于异步工作流(如 WPF、MAUI 或 ASP.NET Web 应用程序),请将 Printer.Print() 替换为 await Printer.PrintAsync(),以避免阻塞 UI 线程。 同一个 PrintSettings 对象可同时适用于这两种方法。 我的下一个步骤是什么? 我们介绍了使用 IronPrint 配置打印边距的四种方法:使用 Margins(int) 设置统一边距、使用 Margins(int, int, int, int) 进行每页单独控制、使用 Margins(int, int) 的水平/垂直简写,以及使用 Margins.Zero 进行无边距打印。 每种方法都集成到 PrintSettings.PaperMargins 中,并兼容 Printer.Print() 和 Printer.PrintAsync()。 欲了解更多信息,请探索以下资源: IronPrint 教程 — 文档打印,提供端到端打印操作指南。 打印设置指南:涵盖 DPI、纸张方向、份数等设置。 请参阅 Margins 类 API 参考文档,获取完整的构造函数和字段文档。 打印机类 API 参考文档,涵盖所有静态打印方法。 获取免费试用许可证,在真实环境中测试所有功能;或准备部署时查看授权选项。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 38,930 | 版本: 2026.4 刚刚发布 免费试用 免费 NuGet 下载 总下载量:38,930 查看许可证 还在滚动吗? 想快速获得证据? PM > Install-Package IronPrint 运行示例 观看您的文档打到打印机上。 免费 NuGet 下载 总下载量:38,930 查看许可证