C#을 사용하여 PDF에 페이지 번호를 추가하는 방법

C#을 사용하여 PDF에 페이지 번호를 추가하는 방법

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

IronPDF를 사용하면 C#에서 헤더/푸터에 자리 표시자 문자열 {page}{total-pages}를 사용하여 PDF에 페이지 번호를 추가할 수 있으며, 특정 페이지 또는 섹션에 적용하여 문서 탐색을 향상시킬 수 있는 옵션도 제공합니다.

페이지 번호는 PDF 문서 내 각 페이지에 할당된 순차적인 번호입니다. 이러한 요소들은 탐색에 필수적인 구성 요소로서, 독자들이 특정 페이지를 찾고 현재 위치를 파악하는 데 도움을 줍니다. 페이지 번호를 사용하면 콘텐츠를 쉽게 인용하고 참조할 수 있습니다. IronPDF를 사용하면 PDF에 페이지 번호를 간단하게 추가할 수 있습니다.

빠른 시작: PDF에 페이지 번호를 쉽게 추가하는 방법

IronPDF를 사용하여 PDF 문서에 페이지 번호를 추가하세요. 최소한의 C# 코드로 머리글이나 바닥글에 동적 페이지 번호를 삽입하고, 위치를 사용자 지정하고, 페이지 번호가 표시될 페이지를 지정할 수 있습니다. IronPDF는 새 PDF 파일을 처리하든 기존 PDF 파일을 처리하든 관계없이 문서 탐색 및 구성을 향상시키는 유연한 솔루션을 제공합니다.

Nuget Icon지금 바로 NuGet을 사용하여 PDF 만들기를 시작하세요.

  1. NuGet 패키지 관리자를 사용하여 IronPDF를 설치하세요.

    PM > Install-Package IronPdf

  2. 다음 코드 조각을 복사하여 실행하세요.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { HtmlFooter = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<center>{page}of{total-pages}</center>", DrawDividerLine = true } } }
         .RenderHtmlAsPdf("<h1>My multi-page document</h1><div style='page-break-after:always;'></div><h1>Page 2</h1>")
         .SaveAs("numbered-pages.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    지금 바로 무료 체험판을 통해 프로젝트에서 IronPDF를 사용해 보세요.
    arrow pointer


PDF에 기본 페이지 번호를 추가하는 방법은 무엇인가요?

TextHeaderFooter 또는 HtmlHeaderFooter 클래스와 함께 {page}{total-pages}와 같은 자리 표시자 문자열을 사용하면 현재 페이지 번호와 총 페이지 수를 추가할 수 있습니다. 이 기능은 전문적인 서식이 필요한 새 PDF를 생성 하거나 HTML을 PDF 문서로 변환할 때 필수적입니다.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-basic.cs
using IronPdf;

// Create text header
TextHeaderFooter textHeader = new TextHeaderFooter()
{
    CenterText = "{page} of {total-pages}"
};

// Create html footer
HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};

// Render a new PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");

// Add header and footer
pdf.AddTextHeaders(textHeader);
pdf.AddHtmlFooters(htmlFooter);

pdf.SaveAs("pdfWithPageNumber.pdf");
$vbLabelText   $csharpLabel

위 코드의 출력 PDF는 아래와 같습니다.

ChromePdfRenderer 의 렌더링 옵션에 페이지 번호 자리 표시자 문자열이 포함된 머리글과 바닥글을 직접 추가할 수도 있습니다. 이 방법은 렌더링 옵션을 사용하여 PDF 출력을 사용자 지정할 때 유용합니다.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-chromerenderer.cs
using IronPdf;

// Add header and footer to rendering options
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
{
    CenterText = "{page} of {total-pages}"
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};

string html = @"
    <h1>Hello World!</h1>
<div style='page-break-after: always;'/>
    <h1>2nd Page!</h1>";

// Render new PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

pdf.SaveAs("applyPageNumberWithRenderingOptions.pdf");
$vbLabelText   $csharpLabel

복잡한 문서를 다룰 때는 페이지 번호가 올바르게 표시되도록 페이지 나누기사용자 지정 여백을 고려해야 합니다.

특정 페이지에만 페이지 번호를 추가하려면 어떻게 해야 하나요?

IronPDF를 사용하면 페이지 번호가 표시되는 위치를 제어할 수 있습니다. 특정 페이지에서 시작하도록 하거나 짝수 번 색인된 페이지와 같은 특정 그룹에 적용하도록 설정할 수 있습니다. 이러한 유연성은 PDF 보고서를 생성 하거나 여러 섹션으로 구성된 문서를 작업할 때 유용합니다.

먼저, 페이지 번호를 적용할 수 있도록 PDF 문서를 준비합니다.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-preparation.cs
using IronPdf;
using System.Linq;
using System.Collections.Generic;

string multi_page_html = @"
    <p>This is the 1st Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 3rd Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 4th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 5th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 6th Page</p>
<div style = 'page-break-after: always;' ></div>
    <p>This is the 7th Page</p>";

// Create header
HtmlHeaderFooter header = new HtmlHeaderFooter()
{
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"
};

// Render PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(multi_page_html);

// Create a Page Range 0..6
var allPageIndices = Enumerable.Range(0, pdf.PageCount);
$vbLabelText   $csharpLabel

짝수 페이지에만 번호를 매기려면 어떻게 해야 하나요?

이전 예제를 바탕으로, 이 코드는 페이지 번호를 짝수 페이지 인덱스에만 적용합니다. 필터링은 짝수 페이지 인덱스에 대해 적용되므로 결과 PDF에는 홀수 페이지 번호에 숫자가 표시됩니다. 페이지 색인은 0부터 시작하고, 페이지 번호는 1부터 시작합니다. 이 기법은 전통적인 책 형식을 따르는 문서나 병합된 PDF 문서를 다룰 때 적합합니다.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-even-pages.cs
// Get even page indexes (resulting in odd page numbers)
var evenPageIndices = allPageIndices.Where(i => i % 2 == 0);

pdf.AddHtmlHeaders(header, 1, evenPageIndices);
pdf.SaveAs("EvenPages.pdf");
$vbLabelText   $csharpLabel

홀수 페이지에만 번호를 매기려면 어떻게 해야 하나요?

색인 번호가 홀수인 페이지에는 페이지 번호를 추가하세요. 이 방법은 양면 인쇄 시 페이지 번호가 인쇄물의 한쪽 면에만 표시되어야 하는 경우에 흔히 사용됩니다.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-odd-pages.cs
// Get odd page indexes (resulting in even page numbers)
var oddPageIndexes = allPageIndices.Where(i => i % 2 != 0);

pdf.AddHtmlHeaders(header, 1, oddPageIndexes);
pdf.SaveAs("OddPages.pdf");
$vbLabelText   $csharpLabel

마지막 페이지에만 페이지 번호를 추가하려면 어떻게 해야 하나요?

마지막 페이지에만 페이지 번호를 추가하세요. 이는 요약 페이지나 문서의 끝을 표시할 때 유용합니다.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-last-page-only.cs
// Last page only
var lastPageIndex = new List<int>() { pdf.PageCount - 1 };

pdf.AddHtmlHeaders(header, 1, lastPageIndex);
pdf.SaveAs("LastPageOnly.pdf");
$vbLabelText   $csharpLabel

첫 페이지에만 페이지 번호를 추가하려면 어떻게 해야 하나요?

첫 페이지에만 페이지 번호를 추가하세요. 이 방법은 표지나 첫 페이지에만 식별 정보가 필요한 문서에 적합합니다.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-first-page-only.cs
// First page only
var firstPageIndex = new List<int>() { 0 };

pdf.AddHtmlHeaders(header, 1, firstPageIndex);
pdf.SaveAs("FirstPageOnly.pdf");
$vbLabelText   $csharpLabel

페이지 번호를 추가할 때 첫 페이지를 건너뛰려면 어떻게 해야 하나요?

헤더를 적용할 때 첫 페이지는 건너뛰세요. 이 일반적인 요구 사항은 페이지 번호를 표시해서는 안 되는 표지나 제목 페이지가 있는 문서에 적용됩니다. 표지 편지를 포함한 PDF 양식 이나 문서를 다룰 때 이 기법을 사용하면 전문적인 형식을 유지할 수 있습니다.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-skip-first-page.cs
// Skip the first page
var skipFirstPage = allPageIndices.Skip(1);

pdf.AddHtmlHeaders(header, 1, skipFirstPage);
pdf.SaveAs("SkipFirstPage.pdf");
$vbLabelText   $csharpLabel

첫 페이지를 건너뛰고 두 번째 페이지부터 1부터 번호를 매기려면 어떻게 해야 하나요?

첫 페이지는 건너뛰고 두 번째 페이지를 1페이지로 간주하여 페이지 번호를 매기십시오. 이 방법은 학술 논문이나 공식 보고서와 같이 표지를 페이지 번호 매기기 순서에 포함시키지 않아야 하는 문서에 적합합니다.

:path=/static-assets/pdf/content-code-examples/how-to/page-numbers-skip-first-page-and-dont-count-it.cs
// Skip the first page and start numbering the second page as page 1
var skipFirstPageAndDontCountIt = allPageIndices.Skip(1);

pdf.AddHtmlHeaders(header, 0, skipFirstPageAndDontCountIt);
pdf.SaveAs("SkipFirstPageAndDontCountIt.pdf");
$vbLabelText   $csharpLabel

모든 메타데이터 옵션을 살펴보려면 IronPDF 머리글 및 바닥글 가이드를 참조하세요.

고급 페이지 번호 매기기 기법

IronPDF는 기본적인 페이지 번호 매기기 외에도 다음과 같은 고급 시나리오를 지원합니다.

  • 섹션별 번호 매기기 : 문서의 각 섹션에 대해 서로 다른 번호 매기기 체계를 적용합니다.
  • 로마 숫자 : 서문 또는 부록 페이지에 대한 사용자 지정 서식
  • 여러 번호 매기기 시스템 : 하나의 문서에서 서로 다른 번호 매기기 스타일을 조합하여 사용
  • 동적 페이지 수 계산 : 페이지를 추가하거나 복사할 때 총 페이지 수를 자동으로 업데이트합니다.

이러한 기법은 기술 매뉴얼, 학술 논문 또는 정교한 페이지 번호 매기기 체계가 필요한 법률 문서와 같은 복잡한 문서를 작성할 때 유용합니다.

페이지 번호 매기기 모범 사례

PDF에 페이지 번호를 삽입할 때는 다음 사항을 고려하십시오.

  1. 일관성 : 문서 전체에 걸쳐 일관된 위치와 서식을 유지하십시오.
  2. 가독성 : 페이지 번호가 명확하게 표시되고 내용과 겹치지 않도록 하십시오.
  3. 접근성 : 읽기 쉽도록 적절한 글꼴 크기와 명암을 사용하십시오.
  4. 전문적인 외관 : 페이지 번호 스타일을 문서의 전체적인 디자인과 일치시키세요.

이러한 지침을 따르고 IronPDF의 유연한 페이지 번호 매기기 기능을 활용하면 특정 요구 사항을 충족하는 전문적이고 잘 정리된 PDF 문서를 만들 수 있습니다.

자주 묻는 질문

C#에서 PDF에 기본 페이지 번호를 추가하는 방법은 무엇인가요?

IronPDF에서는 TextHeaderFooter 또는 HtmlHeaderFooter 클래스에 {page} 및 {total-pages}와 같은 자리 표시자 문자열을 사용하여 페이지 번호를 추가할 수 있습니다. 헤더 또는 푸터 HTML 조각에 이러한 자리 표시자를 포함하기만 하면 IronPDF가 PDF를 렌더링할 때 자동으로 현재 페이지 번호와 총 페이지 수로 대체합니다.

렌더링 옵션을 통해 페이지 번호를 직접 추가할 수 있나요?

예, IronPDF의 ChromePdfRenderer 렌더링 옵션에 페이지 번호를 직접 추가할 수 있습니다. 이 방법을 사용하면 렌더링 구성의 일부로 페이지 번호 자리 표시자 문자열이 포함된 머리글과 바닥글을 설정할 수 있으며, 이는 렌더링 옵션을 통해 PDF 출력을 사용자 지정할 때 특히 유용합니다.

페이지 번호 매기기에 사용할 수 있는 자리 표시자 문자열은 무엇입니까?

IronPDF는 페이지 번호를 매기는 데 사용할 수 있는 두 가지 주요 자리 표시자 문자열을 제공합니다. {page}는 현재 페이지 번호를 표시하고, {total-pages}는 문서의 총 페이지 수를 표시합니다. 이러한 자리 표시자는 PDF가 렌더링될 때 실제 값으로 자동으로 대체됩니다.

특정 페이지에만 페이지 번호를 지정할 수 있나요?

네, IronPDF를 사용하면 문서에서 페이지 번호가 표시되는 위치를 제어할 수 있습니다. 페이지 번호를 표시할 페이지를 지정하여 표지 페이지에서 제외하거나 PDF의 특정 섹션에만 적용할 수 있습니다.

페이지 번호의 위치와 스타일을 사용자 지정할 수 있습니까?

물론입니다. IronPDF의 HtmlHeaderFooter 클래스를 사용하면 HTML과 CSS를 이용하여 페이지 번호의 위치, 스타일 및 서식을 사용자 지정할 수 있습니다. 페이지 번호의 위치, 글꼴, 크기, 색상을 제어할 수 있을 뿐 아니라 구분선이나 기타 장식 요소를 추가할 수도 있습니다.

기존 PDF 문서에 페이지 번호를 추가할 수 있나요?

네, IronPDF는 새 PDF 문서와 기존 PDF 문서 모두에 페이지 번호를 추가하는 기능을 지원합니다. 기존 PDF 문서를 불러와서 문서 전체를 처음부터 다시 만들 필요 없이 머리글이나 바닥글에 페이지 번호를 적용할 수 있습니다.

조르디 바르디아
소프트웨어 엔지니어
조르디는 Iron Software에서 일하지 않을 때는 파이썬, C#, C++에 가장 능숙하며 게임 프로그래밍을 합니다. 제품 테스트, 제품 개발 및 연구를 담당하며 지속적인 제품 개선에 크게 기여하고 있습니다. 다양한 경험은 그에게 끊임없는 도전과 흥미를 제공하며, Iron Software에서 일하는 가장 큰 장점 중 하나라고 합니다. 조르디는 플로리다주 마이애미에서 자랐으며 플로리다 대학교에서 컴퓨터 과학과 통계학을 전공했습니다.
검토자:
제프 프리츠
제프리 T. 프리츠
.NET 커뮤니티 팀의 수석 프로그램 관리자
제프는 .NET 및 Visual Studio 팀의 수석 프로그램 관리자이기도 합니다. 그는 .NET Conf 가상 컨퍼런스 시리즈의 총괄 프로듀서이며, 개발자를 위한 라이브 스트림 'Fritz and Friends'를 주 2회 진행하며 시청자들과 함께 기술에 대해 이야기하고 코드를 작성합니다. 제프는 Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit 등 주요 Microsoft 개발자 행사를 위한 워크숍, 프레젠테이션 및 콘텐츠 기획을 담당합니다.
시작할 준비 되셨나요?
Nuget 다운로드 17,527,568 | 버전: 2026.2 방금 출시되었습니다