How to Add Table of Contents

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

Ein Inhaltsverzeichnis (TOC) ist wie eine Karte, die den Lesern hilft, sich durch die Inhalte des PDF-Dokuments zu navigieren. Es erscheint typischerweise am Anfang und listet die Hauptabschnitte oder Kapitel des PDFs auf, zusammen mit den Seitenzahlen, auf denen jeder Abschnitt beginnt. Dies ermöglicht es den Lesern, schnell bestimmte Teile des Dokuments zu finden und darauf zu springen, und erleichtert den Zugriff auf die benötigten Informationen.

IronPDF bietet eine Funktion, um ein Inhaltsverzeichnis mit Hyperlinks zu den 'h1', 'h2', 'h3', 'h4', 'h5' und 'h6'-Elementen zu erstellen. Das Standardstyling dieses Inhaltsverzeichnisses wird nicht mit anderen Stilen im HTML-Inhalt kollidieren.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new ChromePdfRenderer { RenderingOptions = { CreateOutlineMaps = true, OutlineMapsFormat = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 } }
        .RenderHtmlFileAsPdf("myDocument.html")
        .SaveAs("withToc.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Minimaler Workflow (5 Schritte)

  1. Laden Sie die C#-Bibliothek zum Hinzufügen eines Inhaltsverzeichnisses herunter
  2. Bereiten Sie das HTML vor, das in PDF konvertiert werden soll
  3. Setzen Sie die TableOfContents-Eigenschaft, um das Inhaltsverzeichnis zu aktivieren
  4. Passen Sie das Inhaltsverzeichnis an, indem Sie wählen, ob Seitenzahlen angezeigt werden sollen oder nicht
  5. Optimieren Sie die Platzierung des Inhaltsverzeichnisses im Ausgabepdf


Beispiel zum Hinzufügen eines Inhaltsverzeichnisses

Verwenden Sie die TableOfContents-Eigenschaft, um die Erstellung eines Inhaltsverzeichnisses im Ausgabepdf zu aktivieren. Diese Eigenschaft kann auf einen von drei TableOfContentsTypes gesetzt werden, die wie folgt beschrieben werden:

  • None: Kein Inhaltsverzeichnis erstellen
  • Basic: Erstellen eines Inhaltsverzeichnisses ohne Seitenzahlen
  • WithPageNumbers: Erstellen eines Inhaltsverzeichnisses MIT Seitenzahlen

Diese Funktion verwendet JavaScript, um das Inhaltsverzeichnis zu erstellen; daher muss die Engine JavaScript aktiviert haben. Um diese Funktion besser zu verstehen, können Sie die folgende Beispiel-HTML-Datei herunterladen:

Code

: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

Ausgangs-PDF

Das Inhaltsverzeichnis wird mit Hyperlinks zu jedem der 'h1', 'h2', 'h3', 'h4', 'h5' und 'h6' erstellt.

Hinweis:Die Verwendung der Merge-Methode auf dem Dokument wird die Hyperlinks des Inhaltsverzeichnisses aufheben.


Platzierung des Inhaltsverzeichnisses im PDF

  1. Stellen Sie sicher, dass das HTML-Dokument ordnungsgemäße Header-Tags (h1 bis h6) enthält.
  2. Optional fügen Sie ein div hinzu, wo Sie möchten, dass das Inhaltsverzeichnis erscheint. Wenn das untenstehende div nicht bereitgestellt wird, wird IronPDF das Inhaltsverzeichnis am Anfang einfügen.
<div id="ironpdf-toc"></div>
<div id="ironpdf-toc"></div>
HTML
  1. Wählen Sie in den Renderoptionen, das Inhaltsverzeichnis entweder mit oder ohne Seitenzahlen zu rendern.

Styling des Inhaltsverzeichnisses

Das Inhaltsverzeichnis kann mit CSS gestylt werden, indem die verschiedenen CSS-Selektoren angesprochen werden, die den Stil des Inhaltsverzeichnisses definieren.

Darüber hinaus können Styling-Änderungen mit der CustomCssUrl-Eigenschaft vorgenommen werden. Beginnen wir mit dem Herunterladen einer CSS-Datei, die das Originalstyling des Inhaltsverzeichnisses unten enthält.

WarnungDerzeit wird nicht empfohlen, die Eigenschaften page-break-before und page-break-after zu überschreiben, wenn das Inhaltsverzeichnis gestylt wird, da dies die Seitenzahlenberechnungen beeinträchtigen wird. Die aktuelle Implementierung erwartet, dass sich das Inhaltsverzeichnis auf separaten Seiten von anderen Dokumentinhalten befindet.

: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

Stil der Headers

Verwenden Sie den '#ironpdf-toc ul li.h1' Selektor, um ein anderes Styling für den H1-Header im Inhaltsverzeichnis anzuwenden. Ersetzen Sie 'h1' durch 'h2' bis 'h6', um das Styling für jeden entsprechenden Header zu ändern.

 #ironpdf-toc ul li.h1 {
    font-style: italic;
    font-weight: bold;
 }
class="content-img-align-center">
class="center-image-wrapper"> Stile für Überschriften

Schriftfamilie

Mit den Selektoren '#ironpdf-toc li .title' und '#ironpdf-toc li .page' ist es möglich, die Schriftfamilie des Inhaltsverzeichnisses zu überschreiben. Hierfür können wir die Kursivschrift für den Titel verwenden und das @font-face-Attribut nutzen, um die benutzerdefinierte 'Lemon'-Schriftart von Eduardo Tunni zu verwenden.

 #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;
 }
class="content-img-align-center">
class="center-image-wrapper"> Benutzerdefinierte Schriftfamilie festlegen

Einrückung

Die Einrückung kann mit dem ':root'-Selektor gesteuert werden. Dieser Wert bestimmt die Höhe der Einrückung für jede Kopfebene (h1, h2, ...) im Inhaltsverzeichnis. Sie kann nach Bedarf erhöht werden oder keine Einrückung haben mit einem Wert von 0.

:root {
    --indent-length: 25px;
}
class="content-img-align-center">
class="center-image-wrapper"> Benutzerdefinierte Einrückung festlegen

Punktlinie

Um die gepunkteten Linien zwischen dem Header-Titel und der Seitenzahl zu entfernen, ändern Sie das Hintergrundbild des ::after-Selektors. In der Originalformatierung ist der zweite Parameter "currentcolor 1px". Ändern Sie es in "transparent 1px", um die Punkte zu entfernen. Es ist wichtig, auch andere Attribute anzugeben, da in diesem Selektor das neue Styling das alte Styling vollständig überschreiben wird, anstatt es nur hinzuzufügen.

 #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;
 }
class="content-img-align-center">
class="center-image-wrapper"> Punkte entfernen

Bereit zu sehen, was Sie sonst noch tun können? Schauen Sie sich unsere Tutorial-Seite hier an: PDFs konvertieren

Häufig gestellte Fragen

Wie kann ich ein Inhaltsverzeichnis zu einem PDF in .NET C# hinzufügen?

{"1":"Sie k\u00f6nnen IronPDF verwenden, um ein Inhaltsverzeichnis zu einem PDF hinzuzuf\u00fcgen, indem Sie die TableOfContents<\/code>-Eigenschaft in Ihren PDF-Generierungseinstellungen festlegen. Dies erstellt automatisch ein Navigationsverzeichnis, das mit den Header-Elementen in Ihrem PDF-Dokument verkn\u00fcpft ist.<\/S>"}

Welche Optionen stehen für das Inhaltsverzeichnis in IronPDF zur Verfügung?

IronPDF bietet drei Optionen für das Inhaltsverzeichnis: None (kein TOC), Basic (TOC ohne Seitenzahlen) und WithPageNumbers (TOC mit Seitenzahlen).

Wie kann ich sicherstellen, dass das Inhaltsverzeichnis an einem bestimmten Ort im PDF erscheint?

{"2":"Um das Inhaltsverzeichnis an einem bestimmten Ort zu platzieren, f\u00fcgen Sie ein div<\/code> mit der ID 'ironpdf-toc' in Ihr HTML-Dokument ein. IronPDF platziert das Inhaltsverzeichnis an diesem Ort.<\/S>"}

Kann ich das Inhaltsverzeichnis mit CSS gestalten?

Ja, IronPDF erlaubt es Ihnen, das Inhaltsverzeichnis mit CSS zu gestalten. Sie können spezifische TOC-Elemente ansprechen, um ihr Aussehen zu verändern, und eine benutzerdefinierte CSS-URL für zusätzliche Stile verwenden.

Ist es möglich, die Schriftart des Inhaltsverzeichnisses in einem PDF zu ändern?

{"3":"Sie k\u00f6nnen die Schriftart des Inhaltsverzeichnisses \u00e4ndern, indem Sie die CSS-Selektoren #ironpdf-toc li .title<\/code> und #ironpdf-toc li .page<\/code> verwenden. Benutzerdefinierte Schriftarten k\u00f6nnen mit dem Attribut @font-face<\/code> implementiert werden.<\/S>"}

Wie verhindere ich, dass die TOC-Hyperlinks beim Zusammenführen von PDF-Dokumenten unterbrochen werden?

{"4":"Stellen Sie sicher, dass Sie das Inhaltsverzeichnis aktualisieren oder regenerieren, wenn Sie die Merge<\/code>-Methode nach dem Erstellen eines Inhaltsverzeichnisses verwenden, um funktionierende Hyperlinks beizubehalten, da das Zusammenf\u00fchren sie st\u00f6ren kann.<\/S>"}

Worauf sollte ich beim Styling des Inhaltsverzeichnisses in Bezug auf Seitenumbrüche achten?

{"5":"Vermeiden Sie es, die Eigenschaften page-break-before<\/code> und page-break-after<\/code> in Ihrem CSS zu \u00e4ndern, da dies die Seitenzahlenberechnung im Inhaltsverzeichnis beeintr\u00e4chtigen kann.<\/S>"}

Wie entferne ich die gepunkteten Linien zwischen Titeln und Seitenzahlen im TOC?

{"6":"Um die gepunkteten Linien zwischen Titeln und Seitenzahlen zu entfernen, \u00e4ndern Sie das CSS f\u00fcr den '::after'-Selector der Inhaltsverzeichnis-Elemente, indem Sie die background-image<\/code>-Eigenschaft auf 'transparent 1px' setzen.<\/S>"}

Wie kann ich die Einrückung der Header im Inhaltsverzeichnis steuern?

Steuern Sie die Einrückung der Header im TOC, indem Sie den ':root'-CSS-Selektor verwenden, der es Ihnen erlaubt, das Einzugsniveau für jeden Header festzulegen.

Welche Rolle spielt ein Inhaltsverzeichnis in einem PDF-Dokument?

Ein Inhaltsverzeichnis dient als Navigationswerkzeug innerhalb eines PDF-Dokuments, indem es Abschnitte oder Kapitel und ihre Seitenzahlen auflistet, um Benutzern zu helfen, spezifische Inhalte schnell zu finden.

Ist IronPDF beim Hinzufügen eines Inhaltsverzeichnisses vollständig mit .NET 10 kompatibel, und sind dabei besondere Aspekte zu beachten?

Ja – IronPDF ist vollständig kompatibel mit .NET 10, genau wie mit früheren .NET-Versionen. Beim Hinzufügen eines Inhaltsverzeichnisses unter .NET 10 sind keine speziellen Konfigurationsänderungen erforderlich; dieselben APIs und Eigenschaften (z. B. TableOfContents in ChromePdfRenderOptions ) funktionieren sofort. Stellen Sie lediglich sicher, dass Sie IronPDF über NuGet für .NET 10 in Ihr Projekt einbinden und dass JavaScript in der Rendering-Engine aktiviert ist, damit die Inhaltsverzeichnis-Funktionalität funktioniert.

Chaknith Bin
Software Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat umfassende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Einblicke aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentationen und einem insgesamt besseren Erlebnis bei.
Bereit anzufangen?
Nuget Downloads 16,154,058 | Version: 2025.11 gerade veröffentlicht