C#에서 PDF 인쇄를 위한 용지 여백 설정 방법

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

인쇄 여백은 문서 콘텐츠와 물리적 페이지 가장자리 사이의 빈 공간을 제어합니다. 이를 올바르게 설정하면 잘려진 텍스트를 방지하고, 프린터 간에 일관된 레이아웃을 보장하며, 송장, 보고서 및 법적 문서에 대한 형식 요구 사항을 충족합니다.

IronPrint의 Margins 클래스는 밀리미터 단위의 값을 수용하며, 균일, 수평/수직, 측면별로 세 가지 생성자 오버로드를 제공하여 단일 라인에서 모든 레이아웃 요구 사항을 충족할 수 있습니다. 설치부터 맞춤 여백으로 인쇄까지 각 접근 방식을 아래에서 설명합니다.

빠른 시작: 용지 여백 설정

  1. NuGet을 통해 IronPrint 설치: Install-Package IronPrint
  2. 파일에 using IronPrint; 추가
  3. PrintSettings 객체 생성
  4. Margins 값을 PaperMargins에 할당 (밀리미터 단위의 값)
  5. 설정을 파일 경로와 함께 Printer.Print()로 전달
  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPrint 설치하기

    PM > Install-Package IronPrint
  2. 다음 코드 조각을 복사하여 실행하세요.

    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);
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronPrint 사용 시작하기

    arrow pointer

모든 측면에 균등한 여백을 설정하는 방법은?

가장 간단한 생성자는 단일 정수를 받아 네 측면 모두에 균등하게 적용합니다. 우리는 값을 밀리미터 단위로 전달합니다:

: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)Left, Top, Right, Bottom 각각을 20 mm로 설정합니다. 이것은 모든 가장자리에서 일관된 여백을 가지는 표준 비즈니스 문서에 가장 일반적으로 선택됩니다.

IronPrint는 여백을 밀리미터 단위로 측정하여 1/100인치를 사용하는 System.Drawing.Printing.Margins 클래스의 혼란을 방지합니다. IronPrint에서 25.4 mm 여백은 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)은 첫 번째 값을 왼쪽+오른쪽에 설정하고 두 번째 값을 위+아래에 설정합니다:

: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은 드라이버에 제로 여백 지시를 보냅니다, 그러나 프린터는 여전히 기능에 따라 가장자리 근처의 내용을 잘라낼 수 있습니다.

여백을 다른 인쇄 설정과 어떻게 결합합니까?

PaperMarginsPrintSettings의 한 속성입니다. 우리는 종이 크기, 방향, 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 웹 앱 — UI 스레드를 차단하지 않도록 Printer.Print()await Printer.PrintAsync()로 대체하십시오. 동일한 PrintSettings 개체가 두 방법 모두에서 작동합니다.

내 다음 단계는 무엇인가요?

IronPrint로 인쇄 여백을 구성하는 네 가지 방법을 설명했습니다: Margins(int)을 사용한 균일한 여백, Margins(int, int, int, int)을 이용한 측면별 제어, 수평/수직 단축키 Margins(int, int), 테두리 없는 인쇄 Margins.Zero. 각 접근 방식은 PrintSettings.PaperMargins에 입력되며 Printer.Print()Printer.PrintAsync() 둘 다에서 작동합니다.

추가 읽기를 위해 이 리소스를 탐색하세요:

무료 체험판 라이선스 받기를 통해 모든 기능을 실제 환경에서 시험하거나, 배포를 준비 중이라면 라이선스 옵션 보기.

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'name'

Filename: sections/author_component.php

Line Number: 18

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 18
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'title'

Filename: sections/author_component.php

Line Number: 38

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 38
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'comment'

Filename: sections/author_component.php

Line Number: 48

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 48
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

시작할 준비 되셨나요?
Nuget 다운로드 38,930 | 버전: 2026.4 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPrint
샘플을 실행하세요 문서가 프린터로 전송되는 것을 지켜보세요.