C#으로 PDF 편집 — PDF에 페이지 번호를 추가하는 방법
IronPDF는 C#에서 헤더/풋터의 자리 표시자 문자열 {page} 및 {total-pages}을 사용하여 PDF에 페이지 번호를 추가할 수 있으며, 특정 페이지나 섹션에 적용하여 문서 탐색을 향상시킬 수 있는 옵션을 제공합니다.
페이지 번호는 PDF 문서 내 각 페이지에 할당된 순차적인 번호입니다. 이러한 요소들은 탐색에 필수적인 구성 요소로서, 독자들이 특정 페이지를 찾고 현재 위치를 파악하는 데 도움을 줍니다. 페이지 번호를 사용하면 콘텐츠를 쉽게 인용하고 참조할 수 있습니다. IronPDF 사용하면 PDF에 페이지 번호를 간단하게 추가할 수 있습니다.
빠른 시작: PDF에 페이지 번호를 쉽게 추가하는 방법
IronPDF 사용하여 PDF 문서에 페이지 번호를 추가하세요. 최소한의 C# 코드로 머리글이나 바닥글에 동적 페이지 번호를 삽입하고, 위치를 사용자 지정하고, 페이지 번호를 표시할 페이지를 지정할 수 있습니다. IronPDF 새 PDF 파일을 처리하든 기존 PDF 파일을 처리하든 관계없이 문서 탐색 및 구성을 향상시키는 유연한 솔루션을 제공합니다.
-
NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPdf 설치하기
PM > Install-Package IronPdf -
다음 코드 조각을 복사하여 실행하세요.
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"); -
실제 운영 환경에서 테스트할 수 있도록 배포하세요.
무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기
최소 워크플로우(5단계)
- NuGet 에서 C# PDF 라이브러리를 다운로드하세요.
- 기존 PDF 문서를 불러오거나 새 문서를 생성합니다.
- **머리글** 과 **바닥글** 에 페이지 번호를 삽입하려면 {page} 및 {total-pages} 자리 표시자 문자열을 사용하십시오.
- 특정 페이지 또는 섹션에 페이지 번호를 적용합니다.
- 생성된 PDF 문서를 검토하십시오.
PDF에 기본 페이지 번호를 추가하는 방법은 무엇인가요?
자리 표시자 문자열 {page} 및 {total-pages}을 TextHeaderFooter 클래스 또는 HtmlHeaderFooter 클래스를 사용하여 현재 페이지 번호와 총 페이지 수를 추가할 수 있습니다. 이 기능은 전문적인 서식이 필요한 새 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");
Imports IronPdf
' Create text header
Private textHeader As New TextHeaderFooter() With {.CenterText = "{page} of {total-pages}"}
' Create html footer
Private htmlFooter As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}
' Render a new PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
' Add header and footer
pdf.AddTextHeaders(textHeader)
pdf.AddHtmlFooters(htmlFooter)
pdf.SaveAs("pdfWithPageNumber.pdf")
위 코드의 출력 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");
Imports IronPdf
' Add header and footer to rendering options
Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {.CenterText = "{page} of {total-pages}"}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}
Dim html As String = "
<h1>Hello World!</h1>
<div style='page-break-after: always;'/>
<h1>2nd Page!</h1>"
' Render new PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("applyPageNumberWithRenderingOptions.pdf")
복잡한 문서를 다룰 때는 페이지 번호가 올바르게 표시되도록 페이지 나누기 와 사용자 지정 여백을 고려해야 합니다.
특정 페이지에만 페이지 번호를 추가하려면 어떻게 해야 하나요?
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);
Imports IronPdf
Imports System.Linq
Imports System.Collections.Generic
Private multi_page_html As String = "
<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
Private header As New HtmlHeaderFooter() With {.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>"}
' Render PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(multi_page_html)
' Create a Page Range 0..6
Private allPageIndices = Enumerable.Range(0, pdf.PageCount)
짝수 페이지에만 번호를 매기려면 어떻게 해야 하나요?
이전 예제를 바탕으로, 이 코드는 페이지 번호를 짝수 페이지 인덱스에만 적용합니다. 필터링은 짝수 페이지 인덱스에 대해 적용되므로 결과 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");
' Get even page indexes (resulting in odd page numbers)
Dim evenPageIndices = allPageIndices.Where(Function(i) i Mod 2 = 0)
pdf.AddHtmlHeaders(header, 1, evenPageIndices)
pdf.SaveAs("EvenPages.pdf")
홀수 페이지에만 번호를 매기려면 어떻게 해야 하나요?
색인 번호가 홀수인 페이지에는 페이지 번호를 추가하세요. 이 방법은 양면 인쇄 시 페이지 번호가 인쇄물의 한쪽 면에만 표시되어야 하는 경우에 흔히 사용됩니다.
: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");
' Get odd page indexes (resulting in even page numbers)
Dim oddPageIndexes = allPageIndices.Where(Function(i) i Mod 2 <> 0)
pdf.AddHtmlHeaders(header, 1, oddPageIndexes)
pdf.SaveAs("OddPages.pdf")
마지막 페이지에만 페이지 번호를 추가하려면 어떻게 해야 하나요?
마지막 페이지에만 페이지 번호를 추가하세요. 이는 요약 페이지나 문서의 끝을 표시할 때 유용합니다.
: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");
' Last page only
Dim lastPageIndex = New List(Of Integer)() From {pdf.PageCount - 1}
pdf.AddHtmlHeaders(header, 1, lastPageIndex)
pdf.SaveAs("LastPageOnly.pdf")
첫 페이지에만 페이지 번호를 추가하려면 어떻게 해야 하나요?
첫 페이지에만 페이지 번호를 추가하세요. 이 방법은 표지나 첫 페이지에만 식별 정보가 필요한 문서에 적합합니다.
: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");
' First page only
Dim firstPageIndex = New List(Of Integer)() From {0}
pdf.AddHtmlHeaders(header, 1, firstPageIndex)
pdf.SaveAs("FirstPageOnly.pdf")
페이지 번호를 추가할 때 첫 페이지를 건너뛰려면 어떻게 해야 하나요?
헤더를 적용할 때 첫 페이지는 건너뛰세요. 이 일반적인 요구 사항은 페이지 번호를 표시해서는 안 되는 표지나 제목 페이지가 있는 문서에 적용됩니다. 표지 편지를 포함한 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");
' Skip the first page
Dim skipFirstPage = allPageIndices.Skip(1)
pdf.AddHtmlHeaders(header, 1, skipFirstPage)
pdf.SaveAs("SkipFirstPage.pdf")
첫 페이지를 건너뛰고 두 번째 페이지부터 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");
' Skip the first page and start numbering the second page as page 1
Dim skipFirstPageAndDontCountIt = allPageIndices.Skip(1)
pdf.AddHtmlHeaders(header, 0, skipFirstPageAndDontCountIt)
pdf.SaveAs("SkipFirstPageAndDontCountIt.pdf")
모든 메타데이터 옵션을 살펴보려면 IronPDF 머리글 및 바닥글 가이드를 참조하세요.
고급 페이지 번호 매기기 기법
IronPDF 기본적인 페이지 번호 매기기 외에도 다음과 같은 고급 시나리오를 지원합니다.
- 섹션별 번호 매기기 : 문서의 각 섹션에 대해 서로 다른 번호 매기기 체계를 적용합니다.
- 로마 숫자 : 서문 또는 부록 페이지에 대한 사용자 지정 서식
- 여러 번호 매기기 시스템 : 하나의 문서에서 서로 다른 번호 매기기 스타일을 조합하여 사용
- 동적 페이지 수 계산 : 페이지를 추가하거나 복사할 때 총 페이지 수를 자동으로 업데이트합니다.
이러한 기법은 기술 매뉴얼, 학술 논문 또는 정교한 페이지 번호 매기기 체계가 필요한 법률 문서와 같은 복잡한 문서를 작성할 때 유용합니다.
페이지 번호 매기기 모범 사례
PDF에 페이지 번호를 삽입할 때는 다음 사항을 고려하십시오.
- 일관성 : 문서 전체에 걸쳐 일관된 위치와 서식을 유지하십시오.
- 가독성 : 페이지 번호가 명확하게 표시되고 내용과 겹치지 않도록 하십시오.
- 접근성 : 읽기 쉽도록 적절한 글꼴 크기와 명암을 사용하십시오.
- 전문적인 외관 : 페이지 번호 스타일을 문서의 전체적인 디자인과 일치시키세요.
이러한 지침을 따르고 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 문서를 불러와서 문서 전체를 처음부터 다시 만들 필요 없이 머리글이나 바닥글에 페이지 번호를 적용할 수 있습니다.

