IRONSOFTWAREHOME

Como adicionar um sumário em C#

Curtis Chau
Curtis Chau
Updated: 4 de junho de 2026

O IronPDF permite adicionar um índice a documentos PDF em C# definindo a propriedade TableOfContents, que gera automaticamente navegação hiperlinkada a partir de cabeçalhos HTML (h6) com números de página opcionais.

Início rápido: Adicionar sumário a um PDF em C#
  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copie e execute este trecho de código.

    new ChromePdfRenderer { RenderingOptions = { CreateOutlineMaps = true, OutlineMapsFormat = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 } }
        .RenderHtmlFileAsPdf("myDocument.html")
        .SaveAs("withToc.pdf");
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita
    arrow pointer

O que é um sumário em um PDF?

Um sumário (TOC) é um guia que ajuda os leitores a navegar pelo conteúdo do documento PDF. Geralmente aparece no início e lista as principais seções ou capítulos do PDF, juntamente com os números das páginas onde cada seção começa. Isso permite que os leitores encontrem e acessem rapidamente partes específicas do documento, facilitando o acesso às informações de que precisam.

O IronPDF fornece um recurso para criar um índice com hyperlinks para os elementos h1, h2, h3, h4, h5 e h6. O estilo padrão deste índice não entrará em conflito com outros estilos no conteúdo HTML. Ao criar novos PDFs usando o IronPDF, o recurso de sumário analisa automaticamente os cabeçalhos HTML e cria uma estrutura de navegação hierárquica que reflete a organização do documento.

O sumário gerado inclui links clicáveis ​​que permitem aos leitores acessar diretamente qualquer seção, tornando-o particularmente útil para documentos longos, relatórios e documentação técnica. A implementação de sumário do IronPDF preserva a estrutura semântica do seu HTML, ao mesmo tempo que oferece recursos profissionais de navegação em PDF.

Como adiciono um índice ao meu PDF?

Use a propriedade TableOfContents para habilitar a criação de um índice no documento PDF de saída. Essa propriedade pode ser atribuída a um dos três TableOfContentsTypes, que são descritos a seguir:

  • None: Não criar um índice
  • Basic: Criar um índice sem números de página
  • WithPageNumbers: Criar um índice COM números de página

Esta funcionalidade utiliza JavaScript para construir o índice; Portanto, o mecanismo de busca deve ter o JavaScript habilitado. Ao converter arquivos HTML para PDF , o mecanismo JavaScript do IronPDF processa as tags de cabeçalho e gera a estrutura de navegação apropriada. Para entender melhor essa funcionalidade, baixe o arquivo HTML de exemplo abaixo:

Que código preciso para gerar o sumário?

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

Para cenários mais avançados, você pode combinar o sumário com outras opções de renderização para criar documentos PDF abrangentes:

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

Qual é a aparência do PDF gerado?

O índice será criado com hyperlinks para cada um dos h1, h2, h3, h4, h5 e h6. A estrutura hierárquica dos seus cabeçalhos é preservada, com os subtítulos devidamente recuados em relação às suas seções principais. Você também pode adicionar números de página ao seu PDF para auxiliar na navegação, juntamente com o sumário.

Observe: Usar o método Merge no documento quebrará os hyperlinks do índice.

Ao trabalhar com PDFs mesclados ou divididos , gere o sumário após a conclusão de toda a montagem do documento para garantir referências de página precisas e hiperlinks funcionais.


Onde devo colocar o sumário no meu PDF?

  1. Certifique-se de que o documento HTML tenha tags de cabeçalho adequadas (h1 até h6).
  2. Opcionalmente, insira uma div no local onde deseja que o Sumário apareça. Caso a div abaixo não seja fornecida, o IronPDF inserirá o Sumário no início.
<div id="ironpdf-toc"></div>
HTML
  1. Nas opções de renderização, escolha se deseja exibir o sumário com ou sem números de página.

Para documentos com layouts complexos, combine o sumário com cabeçalhos e rodapés para criar uma estrutura de documento profissional. Aqui está um exemplo de estrutura HTML adequada para a geração ideal de um sumário:

<!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

Minha biblioteca favorita desse tipo é o IronPDF. Ele permite a manipulação rápida e eficiente de arquivos PDF. Além disso, possui muitos recursos valiosos, como a exportação para o formato PDF/A e a assinatura digital de documentos PDF.

Milan Jovanovic

Microsoft MVP

Veja o estudo de caso

Com o IronOCR, podemos economizar US$ 40.000 por ano em processamento manual, ao mesmo tempo que aumentamos a produtividade e liberamos recursos para tarefas de alto impacto. Eu o recomendo fortemente.

Brent Matzelle

Diretor de Tecnologia, OPYN

Veja o estudo de caso

O IronSuite desempenha um papel crucial nas nossas operações. Estas são ferramentas que aumentam a eficiência no negócio, incluindo a criação de plantas baixas e melhoria na gestão de inventário.

David Jones

Engenheiro(a) de Software Líder, Agorus Build

Veja o estudo de caso

Como formatar o sumário?

O sumário pode ser estilizado usando CSS, selecionando os diversos seletores CSS que definem o estilo do sumário. Ao gerenciar as fontes em seu PDF, o sumário herdará as configurações de fonte do documento por padrão, mas pode ser personalizado independentemente.

Além disso, modificações de estilo podem ser feitas usando a propriedade CustomCssUrl. Comece baixando um arquivo CSS que contém o estilo original do sumário abaixo.

[{w:(Atualmente, não é recomendado sobrescrever as propriedades page-break-before e page-break-after ao estilizar o índice, pois isso quebrará os cálculos de número de página. A implementação atual espera que o Sumário esteja em páginas separadas do restante do conteúdo do documento.

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

Ao trabalhar com tamanhos de papel personalizados , pode ser necessário ajustar o estilo do sumário para acomodar diferentes dimensões de página e garantir o fluxo de texto e a paginação adequados.

Como estilizar diferentes níveis de cabeçalho?

Use o seletor #IronPDF-toc ul li.h1 para aplicar uma estilização diferente ao cabeçalho H1 no índice. Substitua h1 por h2 até h6 para mudar a estilização de cada cabeçalho respectivo.

 #ironpdf-toc ul li.h1 {
    font-style: italic;
    font-weight: bold;
 }
Text
Sumário estilizado com linhas pontilhadas conectando capítulos e seções hierárquicas aos números de página.

Como faço para alterar a família da fonte?

Com ambos os seletores '#ironpdf-toc li .title' e '#ironpdf-toc li .page', é possível sobrescrever a família de fontes do índice. Para isso, use a fonte cursiva para o título e utilize o atributo @font-face para usar a fonte personalizada ' Lemon ', criada por Eduardo Tunni.

 #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
Sumário com capítulos, seções e lições, mostrando linhas pontilhadas e números de página alinhados à direita.

Como controlar o recuo?

A indentação pode ser controlada usando o seletor :root. Este valor determina a quantidade de indentação para cada nível de cabeçalho (h1, h2, ...) no índice. Pode ser aumentado conforme necessário, ou pode não haver recuo algum, com um valor de 0.

:root {
    --indent-length: 25px;
}
Text
Sumário com capítulos, seções e lições com recuo personalizado, indicando as páginas com linhas pontilhadas como referência.

Como faço para remover ou personalizar as linhas pontilhadas?

Para remover as linhas pontilhadas entre o título do cabeçalho e o número da página, modifique a imagem de fundo do seletor ::after. No estilo original, o segundo parâmetro é "currentcolor 1px". Altere para "transparente 1px" para remover os pontos. É importante especificar também outros atributos, pois, neste seletor, o novo estilo substituirá completamente o estilo antigo, em vez de apenas complementá-lo.

 #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
Sumário com capítulos, seções e lições, mostrando recuo hierárquico e números de página alinhados à direita.

Para opções de estilo mais avançadas, crie linhas de chamada personalizadas usando diferentes padrões:

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

Pronto para ver o que mais você pode fazer? Confira nossa página de tutoriais aqui: Converter PDFs

Perguntas frequentes

Como adiciono um índice ao meu documento PDF?

Você pode adicionar um sumário ao seu PDF usando o IronPDF definindo a propriedade `TableOfContents` no `ChromePdfRenderer`. Basta definir `RenderingOptions.TableOfContents` como `TableOfContentsTypes.Basic` para um sumário sem números de página ou como `TableOfContentsTypes.WithPageNumbers` para incluir números de página. O IronPDF gerará automaticamente o sumário a partir dos seus cabeçalhos HTML (tags `h1` a `h6`).

Quais elementos HTML são usados para gerar o sumário?

O IronPDF cria automaticamente o sumário, analisando e utilizando os elementos de cabeçalho h1, h2, h3, h4, h5 e h6 do seu HTML. Esses cabeçalhos formam uma estrutura de navegação hierárquica que reflete a organização do seu documento, com cada cabeçalho se tornando um hiperlink clicável no sumário do PDF gerado.

Posso incluir números de página no sumário?

Sim, o IronPDF oferece duas opções de sumário: `TableOfContentsTypes.Basic` cria um sumário sem números de página, enquanto `TableOfContentsTypes.WithPageNumbers` inclui números de página para cada seção. Você pode escolher a opção que melhor se adapta às necessidades do seu documento ao configurar as opções de renderização (`RenderingOptions`).

O recurso de sumário requer JavaScript?

Sim, o IronPDF usa JavaScript para gerar o sumário, portanto, o mecanismo de renderização precisa ter o JavaScript habilitado. Normalmente, ele já vem habilitado por padrão, mas se você desabilitou o JavaScript nas opções de renderização, precisará habilitá-lo para que o recurso de sumário funcione corretamente.

Como faço para configurar o sumário com números de página em uma única linha de código?

Você pode gerar um PDF com um sumário incluindo números de página usando esta única linha: `new ChromePdfRenderer { RenderingOptions = { TableOfContents = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 } }.RenderHtmlFileAsPdf("myDocument.html").SaveAs("withToc.pdf");` Isso cria um sumário totalmente funcional com navegação por hiperlinks e números de página.

O estilo do sumário entrará em conflito com meus estilos HTML existentes?

Não, o estilo padrão do sumário do IronPDF foi projetado para não entrar em conflito com outros estilos no seu conteúdo HTML. O sumário gerado mantém seu próprio estilo, garantindo a exibição correta e preservando a aparência do conteúdo existente no documento.

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
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 20,756,830Versão:2026.7recém-lançado

Obtenha o seu GRÁTIS

Obtenha uma chave de avaliação de 30 dias instantaneamente.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.
bullet_testTeste em produção
sem marcas d'água
bullet_calendar30 dias completos
produto funcional
bullet_supportSuporte técnico 24 horas por dia,
5 dias por semana, durante o teste
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.7

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.