IRONSOFTWAREHOME

C#で目次を追加する方法

Curtis Chau
Curtis Chau
Updated: 2026年9月5日

IronPDF を使用すると、C# で TableOfContents プロパティを設定することで、PDF 文書に目次を追加できます。これにより、HTML ヘッダー (h6) から、オプションでページ番号付きのハイパーリンク付きナビゲーションが自動的に生成されます。

クイックスタート: 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 の冒頭に表示され、各セクションが始まるページ番号とともに、PDF の主なセクションまたは章がリストされます。 これにより、読者はドキュメントの特定の部分をすばやく見つけてジャンプすることができ、必要な情報に簡単にアクセスできるようになります。

IronPDFには、h5、および h6 要素へのハイパーリンクを含む目次を作成する機能を提供しています。 この目次のデフォルトのスタイルは、HTML コンテンツの他のスタイルと競合しません。 IronPDFを使って新しいPDFを作成すると、目次機能が自動的にHTMLヘッダーをスキャンし、ドキュメントの構成を反映した階層的なナビゲーション構造を構築します。

生成された目次には、読者が任意のセクションに直接ジャンプできるクリック可能なリンクが含まれており、長い文書、レポート、技術文書に特に便利です。 IronPDFのTOC実装はHTMLのセマンティック構造を維持しながら、プロフェッショナルなPDFナビゲーション機能を提供します。

PDFに目次を追加するにはどうすればよいですか?

出力されるPDFドキュメントに目次を作成するには、 プロパティを使用してください。 このプロパティには、以下の3つののいずれかを割り当てることができます。各タイプについては以下のように説明されています:

  • None: 目次を作成しないでください
  • Basic: ページ番号のない目次を作成する
  • WithPageNumbers: ページ番号付きの目次を作成する

この機能は JavaScript を使用して目次を構築します。 したがって、エンジンでは JavaScript が有効になっている必要があります。 HTMLファイルをPDFに変換する際、IronPDF for JavaScriptエンジンはヘッダタグを処理し、適切なナビゲーション構造を生成します。 この機能をよりよく理解するために、下記のサンプル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はどのように見えますか?

目次には、h5、および h6 へのハイパーリンク付きで作成されます。 ヘッダーの階層構造は維持され、サブヘッダーは親セクションの下に適切にインデントされます。 また、ページ番号をPDFに追加して、目次と並べてナビゲーションをサポートすることもできます。

ご注意: ドキュメントで `` メソッドを使用すると、目次のハイパーリンクが機能しなくなります。

マージまたは分割されたPDFで作業する場合は、正確なページ参照と機能的なハイパーリンクを確保するために、すべてのドキュメントアセンブリが完了した後に目次を作成してください。


PDFの目次はどこに配置すればよいですか?

  1. HTMLドキュメントに適切なヘッダータグ(から まで)が含まれていることを確認してください。 2.*オプションで、*目次を表示する場所に div を挿入します。 以下の div が提供されていない場合、IronPDF は先頭に目次を挿入します。
<div id="ironpdf-toc"></div>
HTML
  1. レンダリング オプションで、目次をページ番号付きでレンダリングするか、ページ番号なしでレンダリングするかを選択します。

複雑なレイアウトの文書では、目次をヘッダーとフッターと組み合わせて、プロフェッショナルな文書構造にします。 以下は、最適なTOC生成のための適切な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

Microsoft MVP

ケーススタディを見る

IronOCRのおかげで私たちは年間$40,000を手作業の処理から節約し、生産性を向上させ、高影響のタスクにリソースを充てることができます。非常にお勧めします。

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る

IronSuiteは私たちの業務において重要な役割を果たしています。これらは、フロアプランの作成や在庫管理の改善を含め、ビジネス全体の効率を向上させるツールです。

David Jones

リードソフトウェアエンジニア、Agorus Build

ケーススタディを見る

目次のスタイルはどうすればよいですか?

目次のスタイルを定義するさまざまな CSS セレクターをターゲットにすることで、CSS を使用して目次のスタイルを設定できます。 PDFでフォントを管理する場合、目次はデフォルトで文書のフォント設定を継承しますが、個別にカスタマイズすることもできます。

また、`` プロパティを使用して、スタイルの変更を行うことができます。 まず、以下の目次のオリジナルのスタイルを含むCSSファイルをダウンロードしてください。

警告: 現在、目次をスタイル設定する際、および プロパティを上書きすることは推奨されません。これにより、ページ番号の計算が破損する可能性があります。 現在の実装では、目次は他のドキュメント コンテンツとは別のページにあることが想定されています。
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 セレクタを使用してください。 各見出しのスタイルを変更するには、h1 を h2 から h6 まで置き換えてください。

 #ironpdf-toc ul li.h1 {
    font-style: italic;
    font-weight: bold;
 }
Text
階層化されたチャプターとセクションをページ番号で結ぶ点線のリーダーを持つスタイル目次

フォントファミリーを変更するにはどうすればよいですか?

'#IronPDF-toc li .title' および '#IronPDF-toc li .page'の両方のセレクタを使用することで、目次のフォントファミリーを上書きすることが可能です。 そのためには、タイトルに筆記体フォントを使用し、@font-face属性を利用して、Eduardo Tunniがデザインしたカスタムフォント"Lemon"を使用してください。

 #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
点線のリーダーと右寄せのページ番号を示す章、セクション、レッスンの目次

インデントを制御するにはどうすればよいですか?

インデントは、`` セレクタを使用して制御できます。 この値は、目次内の各見出しレベル(h2、...)のインデント量を決定します。 必要に応じて値を増やすことも、値 0 でインデントをなくすこともできます。

:root {
    --indent-length: 25px;
}
Text
カスタムインデントされた章、セクション、レッスンで構成され、点線のリーダーがページ番号を示す目次

ドットラインを削除またはカスタマイズするにはどうすればよいですか?

ヘッダーのタイトルとページ番号の間の点線を削除するには、`` セレクタの background-image を変更してください。 元のスタイルでは、2 番目のパラメータは"currentcolor 1px"です。 ドットを削除するには、"transparent 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文書に目次を追加するにはどうすればよいですか?

ChromePdfRendererにTableOfContentsプロパティを設定することで、IronPDFを使ってPDFに目次を追加することができます。RenderingOptions.TableOfContentsを、ページ番号なしのTOCの場合はTableOfContentsTypes.Basic、ページ番号を含む場合はTableOfContentsTypes.WithPageNumbersのいずれかに設定するだけです。IronPDFは自動的にHTMLヘッダー(h1-h6タグ)からTOCを生成します。

目次を生成するには、どのようなHTML要素を使用しますか?

IronPDFはHTMLのh1, h2, h3, h4, h5, h6ヘッダー要素をスキャンして自動的に目次を作成します。これらのヘッダーは文書の構成を反映した階層的なナビゲーション構造を形成し、各ヘッダーは生成されたPDFの目次でクリック可能なハイパーリンクになります。

目次にページ番号を入れることはできますか?

はい、IronPDFは2つの目次オプションを提供しています:TableOfContentsTypes.Basicはページ番号なしのTOCを作成し、TableOfContentsTypes.WithPageNumbersは各セクションのページ番号を含みます。レンダリングオプションを設定する際に、文書のニーズに最も適したオプションを選択することができます。

目次機能にはJavaScriptが必要ですか?

はい、IronPDFは目次を構築するためにJavaScriptを使用しますので、レンダリングエンジンはJavaScriptを有効にしておく必要があります。通常はデフォルトで有効になっていますが、レンダリングオプションでJavaScriptを無効にしている場合は、目次機能を正しく動作させるために有効にする必要があります。

1行のコードで目次とページ番号を設定するにはどうすればよいですか?

次の1行でページ番号を含む目次付きPDFを生成できます: new ChromePdfRenderer { RenderingOptions = { TableOfContents = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 } }.RenderHtmlFile { RenderingOptions = { TableOfContents = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 }.}.RenderHtmlFileAsPdf("myDocument.html").SaveAs("withToc.pdf"); これで、ハイパーリンク付きのナビゲーションとページ番号を持つ、完全に機能するTOCが作成されます。

目次のスタイルは、既存のHTMLスタイルと競合しますか?

IronPDFのデフォルトの目次スタイルはHTMLコンテンツの他のスタイルと衝突しないようにデザインされています。生成されたTOCは、既存のドキュメントコンテンツの外観を維持しながら、適切な表示を保証する独自のスタイルを維持します。

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
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

Nuget Downloads 21,105,021バージョン:2026.9リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から