C# ile İçindekiler Tablosu Nasıl Eklenir | IronPDF

C#'da İçindekiler Tablosu Nasıl Eklenir

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

IronPDF, TableOfContents özelliğini ayarlayarak C#'da PDF belgelerine içindekiler eklemenize olanak tanır. Bu özellik, isteğe bağlı sayfa numaralarıyla HTML başlıklarından (h6) otomatik olarak köprü bağlantılı gezinme oluşturur.

Hızlı Başlangıç: C#'da PDF'ye İçindekiler Tablosu Ekle

  1. IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronPdf
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    new ChromePdfRenderer { RenderingOptions = { CreateOutlineMaps = true, OutlineMapsFormat = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 } }
        .RenderHtmlFileAsPdf("myDocument.html")
        .SaveAs("withToc.pdf");
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın

    arrow pointer


PDF'de İçindekiler Tablosu Nedir?

İçindekiler tablosu (TOC), okuyucuların PDF belgesinin içeriğinde gezinmesine yardımcı olan bir yol haritasıdır. Genellikle başında görülür ve PDF'nin ana bölümlerini veya başlıklarını, her bölümün başladığı sayfa numaraları ile birlikte listeler. Bu, okuyucuların belgenin belirli bölümlerini hızla bulup geçiş yapabilmelerini sağlar, böylece ihtiyaç duydukları bilgilere erişmeleri kolaylaşır.

IronPDF, h1, h2, h3, h4, h5 ve h6 öğelerine yönlendiren bir içindekiler tablosu oluşturma özelliği sunar. Bu içindekiler tablosunun varsayılan stili, HTML içeriğindeki diğer tarzlarla çakışmaz. İronPDF ile yeni PDF'ler oluşturduğunuzda, içindekiler tablosu özelliği HTML başlıklarınızı otomatik olarak tarar ve belgenizin organizasyonunu yansıtan hiyerarşik bir gezinme yapısı oluşturur.

Oluşturulan içindekiler tablosu, okuyucuların herhangi bir bölüme doğrudan atlama imkanı sağlayan tıklanabilir bağlantılar içerir, bu da uzun belgeler, raporlar ve teknik dokümantasyon için özellikle kullanışlıdır. IronPDF'nin TOC uygulaması, HTML'nizin semantik yapısını korurken profesyonel PDF gezinme yetenekleri sağlar.

PDF'ye Nasıl İçindekiler Tablosu Eklerim?

Çıktı PDF belgesinde içindekiler tablosu oluşturulmasını sağlamak için özelliğini kullanın. Bu özellik, aşağıda açıklanan üç türünden birine atanabilir:

  • None: İçindekiler tablosu oluşturmayın
  • Basic: Sayfa numaraları olmadan bir içindekiler tablosu oluşturun
  • WithPageNumbers: Sayfa numaraları içeren bir içindekiler tablosu oluşturun

Bu özellik, içindekiler tablosunu oluşturmak için JavaScript kullanır; bu nedenle, motorun JavaScript etkin olmalıdır. HTML dosyalarını PDF'ye dönüştürürken, IronPDF'nin JavaScript motoru başlık etiketlerinizi işler ve uygun gezinme yapısını oluşturur. Bu özelliği daha iyi anlamak için aşağıdaki örnek HTML dosyasını indirin:

İçindekiler Tablosu Oluşturmak İçin Hangi Kodlara İhtiyacım Var?

:path=/static-assets/pdf/content-code-examples/how-to/table-of-contents.cs
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");
Imports IronPdf

' Instantiate Renderer
Private renderer As New ChromePdfRenderer()

' Configure render options
renderer.RenderingOptions = New ChromePdfRenderOptions With {.TableOfContents = TableOfContentsTypes.WithPageNumbers}

Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("tableOfContent.html")

pdf.SaveAs("tableOfContents.pdf")
$vbLabelText   $csharpLabel

Daha ileri senaryolar için işleme seçenekleri ile birlikte içindekiler tablosunu birleştirerek kapsamlı PDF belgeleri oluşturabilirsiniz:

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");
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");
Imports IronPdf

' Create renderer with multiple options
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions = New ChromePdfRenderOptions With {
    ' 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
Dim htmlContent As String = "
<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>
"

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("document-with-toc.pdf")
$vbLabelText   $csharpLabel

Oluşturulan PDF Nasıl Görünür?

İçindekiler, h1, h2, h3, h4, h5 ve h6 öğelerinin her birine yönlendiren hiperlinkler içerecek şekilde oluşturulacaktır. Başlıklarınızın hiyerarşik yapısı korunur ve alt başlıklar, ebeveyn bölümlerinin altında düzgün şekilde girintili yerleştirilir. Ayrıca, içindekiler tablosunun yanında ek navigasyon desteği sağlamak için PDF'nize sayfa numaraları ekleyebilirsiniz.

Lütfen dikkate alınBelgede `` yöntemini kullanmak, içindekiler tablosundaki köprüleri bozacaktır.

Birleştirilmiş veya bölünmüş PDF'ler ile çalışırken, doğru sayfa referansları ve işlevsel hiperlinkler için belge montajı tamamlandıktan sonra içindekiler tablosunu oluşturun.


PDF'de İçindekiler Tablosunu Nereye Yerleştirmeliyim?

  1. HTML belgesinde uygun başlık etiketlerinin ('den'e kadar) bulunduğundan emin olun.
  2. İçindekiler Tablosunun görünmesini istediğiniz yere bir div eklemek isteğe bağlıdir. Aşağıdaki div sağlanmazsa, IronPDF içindekiler tablosunu başlangıca ekler.
<div id="ironpdf-toc"></div>
<div id="ironpdf-toc"></div>
HTML
  1. İşleme seçeneklerinde, sayfa numaralı veya sayfa numarasız içindekiler tablosunu işlemek üzere seçim yapın.

Karmaşık düzenlere sahip belgeler için, profesyonel bir belge yapısı oluşturmak için içindekiler tablosunu başlıklar ve altbilgiler ile birleştirin. İçindekiler tablosunun optimal üretilmesi için doğru HTML yapısına bir örnek:

<!DOCTYPE html>
<html>
<head>
    <title>My Document</title>
</head>
<body>

    <div id="ironpdf-toc"></div>

    <div style="page-break-after: always;"></div>

    <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>
<!DOCTYPE html>
<html>
<head>
    <title>My Document</title>
</head>
<body>

    <div id="ironpdf-toc"></div>

    <div style="page-break-after: always;"></div>

    <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

İçindekiler Tablosunu Nasıl Şekillendiririm?

İçindekiler Tablosu, içindekiler tablosunun stilini belirleyen çeşitli CSS seçicilerini hedef alarak CSS ile stillendirilebilir. Yazı tiplerini yönetirken PDF'nizde, içindekiler tablosu varsayılan olarak belgenizin yazı tipi ayarlarını miras alacaktır, ancak bağımsız olarak özelleştirilebilir.

Ayrıca, `` özelliği kullanılarak stil değişiklikleri yapılabilir. Aşağıdan içindekiler tablosunun orijinal stilini içeren bir CSS dosyasını indirerek başlayın.

UyarıŞu anda, içindekiler tablosuna stil verirken ve özelliklerinin üzerine yazmanız önerilmez, çünkü bu, sayfa numarası hesaplamalarını bozacaktır. Mevcut uygulama, İçindekiler Tablosunun diğer belge içeriğinden ayrı sayfalarda bulunmasını bekler.

:path=/static-assets/pdf/content-code-examples/how-to/table-of-contents-overwrite-styling.cs
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");
Imports IronPdf
Imports System.IO

' Instantiate Renderer
Private renderer As New ChromePdfRenderer()

' Configure render options
renderer.RenderingOptions = New ChromePdfRenderOptions With {
	.TableOfContents = TableOfContentsTypes.WithPageNumbers,
	.CustomCssUrl = "./custom.css"
}

' Read HTML text from file
Dim html As String = File.ReadAllText("tableOfContent.html")
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

pdf.SaveAs("tableOfContents.pdf")
$vbLabelText   $csharpLabel

Özel kağıt boyutlarıyla çalışırken, farklı sayfa boyutlarına uyum sağlamak için içindekiler tablosunun stilini ayarlamanız, metin akışını ve sayfalandırmayı uygun şekilde yapmanız gerekebilir.

Farklı Başlık Seviyelerini Nasıl Şekillendiririm?

İçindekiler tablosundaki H1 başlığına farklı bir stil uygulamak için #IronPDF-toc ul li.h1 seçicisini kullanın. Her bir başlığın stilini değiştirmek için h1 ile h2 arasında h6'e kadar olan kısmı değiştirin.

 #ironpdf-toc ul li.h1 {
    font-style: italic;
    font-weight: bold;
 }
Hierarchical başlıklar ve bölümler ile sayfa numaralarına bağlı içindekiler tablosu

Yazı Tipi Ailesini Nasıl Değiştiririm?

Hem '#IronPDF-toc li .title' hem de '#IronPDF-toc li .page' seçicileriyle, içindekiler tablosunun yazı tipi ailesini değiştirmek mümkündür. Bunu yapmak için başlık için el yazısı fontu kullanın ve özel 'Lemon' yazı tipi kullanmak için @font-face özelliğini kullanın, Eduardo Tunni tarafından tasarlandı.

 #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;
 }
Dersler, bölümler ve dersleri gösteren noktalı liderler ve sağa hizalı sayfa numaralı içindekiler tablosu

Girintiyi Nasıl Kontrol Ederim?

Girintiler, ` seçicisi kullanılarak kontrol edilebilir. Bu değer, içindekiler tablosundaki her başlık seviyesi (h1,h2`, ...) için girinti miktarını belirler. Gerektiği kadar artırılabilir veya 0 değeriyle girinti olmayabilir.

:root {
    --indent-length: 25px;
}
Özel girintili başlıklı, bölümlü ve dersli, sayfa numaralarına giden noktalı liderlerle içindekiler tablosu

Noktalı Çizgileri Nasıl Kaldırır veya Özelleştiririm?

Başlık ve sayfa numarası arasındaki noktalı çizgileri kaldırmak için, `` seçicisinin arka plan görüntüsünü değiştirin. Orijinal stilin ikinci parametresi "currentcolor 1px". Çizgileri kaldırmak için bunu "transparent 1px" olarak değiştirin. Bu seçicide, yeni stil eski stilin tamamen üstüne çıkacağı için diğer öznitelikleri de belirtmek önemlidir.

 #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;
 }
Dersler, bölümler ve dersleri gösteren içindekiler tablosu ile hiyerarşik girintiler ve sağa hizalı sayfa numaraları

Daha gelişmiş stil seçenekleri için, farklı desenler kullanarak özel lider çizgileri oluşturun:

/* 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;
}

Başka neler yapabileceğinizi görmek için hazır mısınız? Buradaki öğretici sayfamıza göz atın: PDF'leri Dönüştürme

Sıkça Sorulan Sorular

PDF belgeme içerik tablosunu nasıl eklerim?

IronPDF kullanarak PDF'ye bir içerik tablosu eklemek için ChromePdfRenderer üzerinde TableOfContents özelliğini ayarlayarak. Basitçe RenderingOptions.TableOfContents'i TableOfContentsTypes.Basic veya TableOfContentsTypes.WithPageNumbers olarak ayarlayın. IronPDF, HTML başlıklarınızdan (h1-h6 etiketleri) otomatik olarak TOC'yi oluşturacaktır.

Tablonun içerik listesini oluşturmak için hangi HTML unsurları kullanılır?

IronPDF, içindekiler tablosunu otomatik olarak HTML'deki h1, h2, h3, h4, h5 ve h6 başlık unsurlarını tarayarak ve kullanarak oluşturur. Bu başlıklar, belgenizin organizasyonunu yansıtan hiyerarşik bir gezinme yapısı oluşturur ve her başlık, oluşturulan PDF'nin içerik tablosunda tıklanabilir bir köprü haline gelir.

İçindekiler tablosuna sayfa numaralarını ekleyebilir miyim?

Evet, IronPDF iki içerik tablosu seçeneği sunar: TableOfContentsTypes.Basic sayfa numaraları olmayan bir TOC oluşturur, TableOfContentsTypes.WithPageNumbers ise her bölüm için sayfa numaralarını içerir. Belgenizin ihtiyaçlarına en uygun seçeneği RenderingOptions ayarlarken seçebilirsiniz.

İçindekiler tablosu özelliği JavaScript gerektiriyor mu?

Evet, IronPDF içindekiler tablosunu oluşturmak için JavaScript kullanır, bu nedenle işleme motorunun JavaScript'i etkinleştirilmiş olmalıdır. Bu genellikle varsayılan olarak etkinleştirilmiştir, ancak işleme seçeneklerinizde JavaScript'i devre dışı bıraktıysanız, içindekiler tablosu özelliğinin doğru çalışması için onu etkinleştirmeniz gerekecek.

Tek bir satır kodla sayfa numaralarıyla içindekiler tablosunu nasıl ayarlarım?

İçindekiler tablosu ve sayfa numaralarını içeren bir PDF, şu tek satır kodla oluşturulabilir: new ChromePdfRenderer { RenderingOptions = { TableOfContents = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 } }.RenderHtmlFileAsPdf("myDocument.html").SaveAs("withToc.pdf"); Bu, hiper bağlantılı gezinme ve sayfa numaraları ile tamamen işlevsel bir içindekiler tablosu oluşturur.

İçindekiler tablosunun stili mevcut HTML stillerimle çakışacak mı?

Hayır, IronPDF'nin varsayılan içindekiler tablosu stili, HTML içeriğinizdeki diğer stillerle çakışmayacak şekilde tasarlanmıştır. Oluşturulan içindekiler tablosu, mevcut belge içeriğinizin görünümünü korurken düzgün bir şekilde görüntülenmesini sağlayan ayrı bir stil düzenini sürdürür.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,014,616 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.