IRONSOFTWAREHOME

C#에서 목차를 추가하는 방법

Curtis Chau
Curtis Chau
Updated: 2026년 6월 4일

IronPDF는 C#에서 PDF 문서에 머리말 HTML 헤더(h1 - h6)로부터의 자동 하이퍼링크 탐색을 통해 ToC를 자동으로 생성하는 TableOfContents 속성을 설정하여 PDF에 목차를 추가합니다. 페이지 번호는 선택적입니다.

빠른 시작: C#을 사용하여 PDF에 목차 추가하기
  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

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

    new ChromePdfRenderer { RenderingOptions = { CreateOutlineMaps = true, OutlineMapsFormat = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 } }
        .RenderHtmlFileAsPdf("myDocument.html")
        .SaveAs("withToc.pdf");
    C#
  3. 3실제 운영 환경에서 테스트할 수 있도록 배포하세요.

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

PDF에서 목차란 무엇인가요?

목차(TOC)는 독자가 PDF 문서의 내용을 탐색하는 데 도움이 되는 로드맵입니다. 일반적으로 PDF의 시작 부분에 나타나며, 주요 섹션 또는 챕터 목록과 각 섹션이 시작되는 페이지 번호를 보여줍니다. 이를 통해 독자는 문서의 특정 부분을 빠르게 찾아 이동할 수 있으므로 필요한 정보에 더 쉽게 접근할 수 있습니다.

IronPDF는 h1, h2, h3, h4, h5h6 요소로 하이퍼링크 된 목차를 생성하는 기능을 제공합니다. 이 목차의 기본 스타일은 HTML 콘텐츠의 다른 스타일과 충돌하지 않습니다. IronPDF 사용하여 새 PDF를 만들 때 목차 기능은 HTML 헤더를 자동으로 스캔하여 문서 구성을 반영하는 계층적 탐색 구조를 생성합니다.

생성된 목차에는 독자가 원하는 섹션으로 바로 이동할 수 있는 클릭 가능한 링크가 포함되어 있어 긴 문서, 보고서 및 기술 문서에 특히 유용합니다. IronPDF의 목차 구현은 HTML의 의미 구조를 유지하면서 전문적인 PDF 탐색 기능을 제공합니다.

PDF 파일에 목차를 추가하는 방법은 무엇인가요?

출력 PDF 문서에서 목차 생성을 활성화하려면 TableOfContents 속성을 사용하십시오. 이 속성은 다음과 같이 설명되는 세 가지 TableOfContentsTypes 중 하나에 할당할 수 있습니다:

  • None: 목차를 생성하지 않음.
  • Basic: 페이지 번호 없이 목차 생성.
  • WithPageNumbers: 페이지 번호와 함께 목차 생성.

이 기능은 JavaScript 사용하여 목차를 생성합니다. 따라서 엔진에는 JavaScript 활성화되어 있어야 합니다. IronPDF의 JavaScript 엔진은 HTML 파일을 PDF로 변환할 때 헤더 태그를 처리하고 적절한 탐색 구조를 생성합니다. 이 기능을 더 잘 이해하려면 아래 샘플 HTML 파일을 다운로드하세요.

목차를 생성하려면 어떤 코드가 필요합니까?

using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure render options
renderer.RenderingOptions = new ChromePdfRenderOptions
{
    // Enable table of content feature
    TableOfContents = TableOfContentsTypes.WithPageNumbers,
};

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableOfContent.html");

pdf.SaveAs("tableOfContents.pdf");

보다 고급스러운 시나리오에서는 목차를 다른 렌더링 옵션 과 결합하여 포괄적인 PDF 문서를 만들 수 있습니다.

using IronPdf;

// Create renderer with multiple options
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions = new ChromePdfRenderOptions
{
    // Enable table of contents with page numbers
    TableOfContents = TableOfContentsTypes.WithPageNumbers,
    
    // Add margins for better formatting
    MarginTop = 40,
    MarginBottom = 40,
    
    // Enable JavaScript for dynamic content
    EnableJavaScript = true,
    
    // Set paper orientation
    PaperOrientation = PdfPaperOrientation.Portrait,
    
    // Add first page number offset
    FirstPageNumber = 1
};

 // Convert HTML with multiple header levels
string htmlContent = @"
<h1>Introduction</h1>
<p>Welcome to our comprehensive guide...</p>

<h2>Chapter 1: Getting Started</h2>
<p>Let's begin with the basics...</p>

<h3>1.1 Prerequisites</h3>
<p>Before we start, ensure you have...</p>

<h2>Chapter 2: Advanced Topics</h2>
<p>Now let's explore more complex features...</p>
";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("document-with-toc.pdf");

생성된 PDF 파일은 어떤 모습인가요?

목차는 각각의 h1, h2, h3, h4, h5h6와 하이퍼링크되어 생성됩니다. 헤더의 계층 구조가 유지되며, 하위 헤더는 상위 섹션 아래로 적절하게 들여쓰기됩니다. 목차와 함께 탐색을 더욱 편리하게 하기 위해 PDF에 페이지 번호를 추가 할 수도 있습니다.

참고해 주세요: 문서에서 Merge 메서드를 사용하면 목차의 하이퍼링크가 끊어집니다.

병합되거나 분할된 PDF 파일을 다룰 때는 정확한 페이지 참조와 작동하는 하이퍼링크를 보장하기 위해 모든 문서 조립이 완료된 후에 목차를 생성해야 합니다.


PDF 파일의 목차는 어디에 배치해야 할까요?

  1. HTML 문서에 적절한 헤더 태그(h1 up to h6)가 있는지 확인하십시오.
  2. 선택적으로 목차를 표시할 위치에 div를 삽입할 수 있습니다. 아래 div 요소가 제공되지 않으면 IronPDF 목차를 맨 앞에 삽입합니다.
<div id="ironpdf-toc"></div>
HTML
  1. 렌더링 옵션에서 목차를 페이지 번호와 함께 또는 페이지 번호 없이 렌더링할지 선택합니다.

레이아웃이 복잡한 문서의 경우, 목차와 머리글, 바닥글을 결합하여 전문적인 문서 구조를 만드세요. 최적의 목차 생성을 위한 올바른 HTML 구조의 예는 다음과 같습니다.

<!DOCTYPE html>
<html>
<head>
    <title>My Document</title>
</head>
<body>
    <!-- Table of Contents placeholder -->
    <div id="ironpdf-toc"></div>
    
    <!-- Page break after TOC -->
    <div style="page-break-after: always;"></div>
    
    <!-- Main content starts here -->
    <h1>Executive Summary</h1>
    <p>This document provides...</p>
    
    <h2>Market Analysis</h2>
    <h3>Current Trends</h3>
    <p>The market shows...</p>
    
    <h3>Future Projections</h3>
    <p>We anticipate...</p>
    
    <h2>Recommendations</h2>
    <p>Based on our analysis...</p>
</body>
</html>
HTML

이 종류의 라이브러리 중 가장 좋아하는 것은 IronPDF입니다. PDF 파일을 빠르고 효율적으로 조작할 수 있습니다. 또한 PDF/A 형식으로 내보내기 및 PDF 문서의 디지털 서명과 같은 많은 유용한 기능을 가지고 있습니다.

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기

IronOCR 덕분에 연간 $40,000를 수동 프로세싱에서 절약하고 생산성을 높이며 고부가가치 작업에 자원을 활용할 수 있습니다. 강력히 추천합니다.

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기

IronSuite는 우리의 운영에서 중요한 역할을 합니다. 이것들은 사업 전반에 걸쳐 효율성을 높이는 도구로, 평면도 생성 및 재고 관리 개선을 포함합니다.

데이비드 존스

리드 소프트웨어 엔지니어, Agorus Build

사례 연구 보기

목차의 스타일을 어떻게 지정하나요?

목차는 CSS를 사용하여 스타일을 지정할 수 있으며, 이를 위해서는 목차의 스타일을 정의하는 다양한 CSS 선택자를 대상으로 해야 합니다. PDF에서 글꼴을 관리할 때 목차는 기본적으로 문서의 글꼴 설정을 상속받지만, 별도로 사용자 지정할 수도 있습니다.

추가적으로, CustomCssUrl 속성을 사용하여 스타일링 수정을 할 수 있습니다. 먼저 아래 목차의 원래 스타일이 포함된 CSS 파일을 다운로드하세요.

경고: 현재, 목차의 스타일링을 위해 page-break-beforepage-break-after 속성을 덮어쓰는 것은 페이지 번호 계산을 깨뜨릴 것이므로 추천되지 않습니다. 현재 구현에서는 목차가 문서의 다른 내용과 별도의 페이지에 있어야 한다고 가정합니다.
using IronPdf;
using System.IO;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure render options
renderer.RenderingOptions = new ChromePdfRenderOptions
{
    // Enable table of content feature
    TableOfContents = TableOfContentsTypes.WithPageNumbers,
    CustomCssUrl = "./custom.css"
};

// Read HTML text from file
string html = File.ReadAllText("tableOfContent.html");
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

pdf.SaveAs("tableOfContents.pdf");

사용자 지정 용지 크기를 사용할 경우, 다양한 페이지 크기에 맞춰 목차 스타일을 조정하고 텍스트 흐름과 페이지 매김이 제대로 이루어지도록 해야 할 수 있습니다.

헤더 레벨별로 스타일을 지정하려면 어떻게 해야 하나요?

목차의 H1 헤더에 다른 스타일을 적용하려면 #IronPDF-toc ul li.h1 선택자를 사용하십시오. 각각의 헤더에 대한 스타일을 변경하려면 h1h2에서 h6로 교체하십시오.

 #ironpdf-toc ul li.h1 {
    font-style: italic;
    font-weight: bold;
 }
Text
점선으로 된 리더선을 사용하여 계층 구조의 장과 절을 페이지 번호에 연결하는 스타일이 적용된 목차입니다.

글꼴 종류를 어떻게 변경하나요?

목차의 글꼴 가족을 덮어쓰는 것은 '#ironpdf-toc li .title'과 '#ironpdf-toc li .page' 선택자로 가능합니다. 이를 위해 제목에는 필기체 글꼴을 사용하고, @font-face 속성을 활용하여 에두아르도 투니가 디자인한 사용자 지정 ' 레몬 ' 글꼴을 사용하십시오.

 #ironpdf-toc li .title {
    order: 1;
    font-family: cursive;
 }

 @font-face {
    font-family: 'lemon';
    src: url('Lemon-Regular.ttf')
 }

 #ironpdf-toc li .page {
    order: 3;
    font-family: 'lemon', sans-serif;
 }
Text
점선으로 표시된 안내선과 오른쪽 정렬된 페이지 번호가 있는 목차에는 장, 절 및 수업이 포함되어 있습니다.

들여쓰기는 어떻게 조절하나요?

들여쓰기는 :root 선택자를 사용하여 제어할 수 있습니다. 이 값은 목차에 있는 각 헤더 수준(h1, h2, ...)에 대한 들여쓰기 양을 결정합니다. 필요에 따라 들여쓰기 값을 늘릴 수도 있고, 0으로 설정하여 들여쓰기를 하지 않을 수도 있습니다.

:root {
    --indent-length: 25px;
}
Text
사용자 지정 들여쓰기가 적용된 장, 절, 단원으로 구성된 목차이며, 점선으로 표시된 리더선이 페이지 번호를 가리킵니다.

점선을 제거하거나 사용자 지정하려면 어떻게 해야 하나요?

헤더 제목과 페이지 번호 사이의 점선 제거는 ::after 선택자의 배경 이미지를 수정하여 수행할 수 있습니다. 원래 스타일링에서 두 번째 매개변수는 "currentcolor 1px"입니다. 점을 없애려면 "투명 1px"로 변경하세요. 이 선택자에서는 새 스타일이 기존 스타일을 완전히 덮어쓰기 때문에 다른 속성도 지정하는 것이 중요합니다.

 #ironpdf-toc li::after {
    background-image: radial-gradient(circle, transparent 1px, transparent 1.5px);
    background-position: bottom;
    background-size: 1ex 4.5px;
    background-repeat: space no-repeat;
    content: "";
    flex-grow: 1;
    height: 1em;
    order: 2;
 }
Text
목차는 장, 절, 강의로 구성되며, 계층적 들여쓰기와 오른쪽 정렬된 페이지 번호를 보여줍니다.

더욱 고급스러운 스타일링 옵션을 사용하려면 다양한 패턴을 사용하여 사용자 지정 지시선을 만드세요.

/* Dashed line leader */
#ironpdf-toc li::after {
    background-image: linear-gradient(to right, currentcolor 50%, transparent 50%);
    background-size: 8px 1px;
    background-repeat: repeat-x;
    background-position: bottom;
}

/* Solid line leader */
#ironpdf-toc li::after {
    border-bottom: 1px solid currentcolor;
    background: none;
}
Text

당신이 할 수 있는 다른 일들을 알아볼 준비가 되셨나요? PDF 변환 방법에 대한 튜토리얼 페이지는 여기에서 확인하세요.

자주 묻는 질문

PDF 문서에 목차를 추가하려면 어떻게 해야 하나요?

IronPDF를 사용하여 PDF에 목차를 추가하려면 ChromePdfRenderer의 TableOfContents 속성을 설정하면 됩니다. RenderingOptions.TableOfContents를 TableOfContentsTypes.Basic으로 설정하면 페이지 번호가 없는 목차가 되고, TableOfContentsTypes.WithPageNumbers로 설정하면 페이지 번호가 포함된 목차가 됩니다. IronPDF는 HTML 헤더(h1-h6 태그)에서 자동으로 목차를 생성합니다.

목차를 생성하는 데 사용되는 HTML 요소는 무엇입니까?

IronPDF는 HTML의 h1, h2, h3, h4, h5, h6 헤더 요소를 스캔하여 자동으로 목차를 생성합니다. 이러한 헤더는 문서의 구성을 반영하는 계층적 탐색 구조를 형성하며, 생성된 PDF의 목차에서 각 헤더는 클릭 가능한 하이퍼링크가 됩니다.

목차에 페이지 번호를 포함해도 되나요?

네, IronPDF는 두 가지 목차 옵션을 제공합니다. TableOfContentsTypes.Basic은 페이지 번호가 없는 목차를 생성하고, TableOfContentsTypes.WithPageNumbers는 각 섹션에 페이지 번호를 포함합니다. RenderingOptions를 설정할 때 문서 요구 사항에 가장 적합한 옵션을 선택할 수 있습니다.

목차 기능을 사용하려면 JavaScript가 필요합니까?

네, IronPDF는 목차를 생성하기 위해 JavaScript를 사용하므로 렌더링 엔진에서 JavaScript가 활성화되어 있어야 합니다. 일반적으로 JavaScript는 기본적으로 활성화되어 있지만, 렌더링 옵션에서 JavaScript를 비활성화한 경우 목차 기능이 제대로 작동하려면 JavaScript를 활성화해야 합니다.

한 줄의 코드로 페이지 번호가 포함된 목차를 어떻게 설정할 수 있나요?

다음 한 줄 코드를 사용하여 페이지 번호가 포함된 목차가 있는 PDF를 생성할 수 있습니다. `new ChromePdfRenderer { RenderingOptions = { TableOfContents = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 } }.RenderHtmlFileAsPdf("myDocument.html").SaveAs("withToc.pdf");` 이 코드는 하이퍼링크 탐색 및 페이지 번호가 포함된 완벽한 기능의 목차를 생성합니다.

목차 스타일이 기존 HTML 스타일과 충돌할까요?

아니요, IronPDF의 기본 목차 스타일은 HTML 콘텐츠의 다른 스타일과 충돌하지 않도록 설계되었습니다. 생성된 목차는 기존 문서 콘텐츠의 모양을 유지하면서도 올바르게 표시되도록 자체적인 별도 스타일을 유지합니다.

Can I specify where the table of contents should appear in my PDF using IronPDF?

Yes, you can specify a placeholder in your HTML using a div with the id `ironpdf-toc`. If not specified, IronPDF will automatically place the table of contents at the start of the document.

Does IronPDF support dynamic content like JavaScript when generating PDFs?

Yes, IronPDF supports dynamic content and can execute JavaScript during the conversion process, enhancing the interactivity of the generated PDF.

How can I download a sample HTML file to see how Table of Contents is structured?

You can download a sample HTML file directly from the IronPDF guide to understand how the table of contents is structured before converting it to a PDF.

What should I be cautious of when styling the table of contents in IronPDF?

When styling the table of contents, avoid modifying `page-break-before` and `page-break-after` properties within the TOC styling, as they may disrupt page number calculations in the PDF.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

...
더 읽어보기

시작할 준비 되셨나요?

Nuget Downloads 20,756,830버전:2026.7방금 출시

무료로 받기

30일 체험 키를 즉시 받으세요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.
bullet_test워터마크 없이
프로덕션에서 테스트
bullet_calendar30일 완전한
기능의 제품
bullet_support체험 기간 동안
24/5 기술 지원
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.
PDF용 C# NuGet 라이브러리
NuGet을 사용하여 설치하세요

버전: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭하고 NuGet 패키지 관리를 선택합니다.
  2. 찾아보기를 선택하고 "IronPDF"를 검색하세요.
  3. 패키지를 선택하고 설치하세요
C# PDF DLL
DLL 다운로드

버전: 2026.7

또는 여기에서 Windows 설치 프로그램을 다운로드하십시오.

  1. IronPDF를 다운로드하고 솔루션 디렉터리 내의 ~/Libs와 같은 위치에 압축을 푸세요.
  2. Visual Studio 솔루션 탐색기에서 참조를 마우스 오른쪽 버튼으로 클릭합니다. 찾아보기를 선택하고 "IronPDF.dll"을 선택합니다.

라이선스 가격은 749달러 부터 시작합니다.

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.