IronPDF 操作指南 添加目录 How to Add Table of Contents Chaknith Bin 已更新:九月 17, 2025 Download IronPDF NuGet 下载 DLL 下载 Windows 安装程序 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article was translated from English: Does it need improvement? Translated View the article in English 目录(TOC)就像一张帮助读者导航PDF文档内容的路线图。 它通常出现在开头,并列出PDF的主要章节或部分,以及每个部分开始的页码。 这使读者可以快速找到并跳转到文档的特定部分,使他们更容易获取所需的信息。 IronPDF提供了一个功能,可以创建链接到'h1'、'h2'、'h3'、'h4'、'h5'和'h6'元素的目录。 此目录的默认样式不会与HTML内容的其他样式发生冲突。 Get started making PDFs with NuGet now: Install IronPDF with NuGet Package Manager PM > Install-Package IronPdf Copy and run this code snippet. new ChromePdfRenderer { RenderingOptions = { CreateOutlineMaps = true, OutlineMapsFormat = TableOfContentsTypes.WithPageNumbers, FirstPageNumber = 1 } } .RenderHtmlFileAsPdf("myDocument.html") .SaveAs("withToc.pdf"); Deploy to test on your live environment Start using IronPDF in your project today with a free trial Free 30 day Trial class="hsg-featured-snippet"> 最小工作流程(5个步骤) 下载用于添加目录的C#库 准备要转换为PDF的HTML 设置TableOfContents属性以启用目录 通过选择是否显示页码来自定义目录 优化目录在输出PDF中的位置 添加目录示例 使用TableOfContents属性启用输出PDF文档中的目录创建。 此属性可以分配给以下三种TableOfContentsTypes之一,具体描述如下: None:不创建目录 Basic:创建不带页码的目录 WithPageNumbers:创建带页码的目录 此功能使用JavaScript构建目录; 因此,引擎必须启用JavaScript。 为了更好地理解此功能,您可以下载下面的示例HTML文件: Download the sample HTML file 代码 :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 输出 PDF 文件 目录将被创建,并链接到每个'h1'、'h2'、'h3'、'h4'、'h5'和'h6'。 请注意在文档上使用Merge方法将破坏目录的链接。 目录在PDF中的位置 确保HTML文档具有适当的标题标签(h1至h6)。 可选地插入一个div,以在目录显示的位置。 如果未提供以下div,IronPDF将把目录插入到开始位置。 <div id="ironpdf-toc"></div> <div id="ironpdf-toc"></div> HTML 在渲染选项中,选择是渲染带页码或不带页码的目录。 目录样式 目录可以通过针对定义目录样式的各种CSS选择器来使用CSS进行样式化。 此外,可以使用CustomCssUrl属性进行样式修改。 让我们开始下载下面包含目录原始样式的CSS文件。 Download the custom CSS file 警告目前不建议在目录样式时覆盖page-break-before和page-break-after属性,因为这会破坏页码计算。 当前实现期望目录在文档其他内容的单独页面上。 ### 样式标题 :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 使用'#ironpdf-toc ul li.h1'选择器为目录中的H1标题应用不同样式。 将'h1'替换为'h2'至'h6'以更改每个相应标题的样式。 class="content-img-align-center"> class="center-image-wrapper"> #ironpdf-toc ul li.h1 { font-style: italic; font-weight: bold; } 字体系列 使用 '#ironpdf-toc li .title' 和 '#ironpdf-toc li .page' 选择器,可以覆盖目录的字体系列。 为此,我们可以为标题使用草书字体,并利用@font-face属性使用Eduardo Tunni设计的自定义'Lemon'字体。 - 下载Lemon字体 Download the Lemon font #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; } 缩进 可以使用':root'选择器来控制缩进。 该值决定了目录中每个标题级别(h1,h2,等)的缩进量。 可以根据需要增加,或者不留缩进而设置为0。 class="content-img-align-center"> class="center-image-wrapper"> :root { --indent-length: 25px; } 点线 要去除标题和页码之间的虚线,请修改::after选择器的背景图像。 在原始样式中,第二个参数是 "currentcolor 1px"。 将其更改为 "transparent 1px" 以去除点线。 重要的是,其它属性也要指定,因为在此选择器中,新样式将完全覆盖旧样式,而不仅仅是添加到它。 class="content-img-align-center"> class="center-image-wrapper"> #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; } 准备好看看您还能做些什么吗? 查看我们的教程页面:转换PDF文档 常见问题解答 如何在.NET C#中向PDF添加目录? 您可以使用IronPDF通过在您的PDF生成设置中设置TableOfContents属性来向PDF添加目录。这将自动创建一个与您的PDF文档中标题元素链接的导航索引。 IronPDF中有哪些目录选项? IronPDF提供了三种目录选项:无(没有目录)、基本(没有页码的目录)和带页码(包含页码的目录)。 如何确保目录出现在PDF中的特定位置? 要在特定位置放置目录,请在您的HTML文档中插入一个ID为'ironpdf-toc'的div。IronPDF将把目录放置在这个位置。 我可以使用CSS来设置目录的样式吗? 是的,IronPDF允许您使用CSS来设置目录的样式。您可以针对特定的目录元素修改其外观,并使用自定义CSS URL进行进一步的样式调整。 是否可以更改PDF中目录的字体? 您可以通过使用#ironpdf-toc li .title和#ironpdf-toc li .page CSS选择器来更改目录的字体。可以使用@font-face属性实现自定义字体。 如何防止合并PDF文档时目录的超链接中断? 在创建目录后使用Merge方法时,确保更新或重新生成目录以维持有效的超链接,因为合并可能会干扰它们。 在针对目录进行样式设计时需要注意什么与分页中断有关的事项? 避免在CSS中更改page-break-before和page-break-after属性,因为这可能会影响目录中的页码计算。 如何去除目录中标题和页码之间的点线? 要去除标题和页码之间的点线,请修改目录项的'::after'选择器的CSS,将background-image属性设置为'transparent 1px'。 如何控制目录中标题的缩进? 通过使用':root' CSS选择器来控制目录中标题的缩进,允许您为每个标题定义缩进级别。 目录在PDF文档中的作用是什么? 目录在PDF文档中起着导航工具的作用,列出章节或章节及其页码,帮助用户快速找到特定内容。 IronPDF 在添加目录时是否完全兼容 .NET 10?是否存在任何特殊注意事项? 是的,IronPDF 与 .NET 10 完全兼容,就像它与之前的 .NET 版本一样。在 .NET 10 下添加目录时,无需任何特殊配置更改;相同的 API 和属性(例如ChromePdfRenderOptions中的TableOfContents )开箱即用。只需确保通过 NuGet 将 IronPDF 添加到您的 .NET 10 项目中,并确保渲染引擎已启用 JavaScript,目录功能即可正常工作。 Chaknith Bin 立即与工程团队聊天 软件工程师 Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。 准备开始了吗? Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:16,154,058 查看许可证 免费试用 IronPDF 5 分钟内设置完成 通过 NuGet 安装 版本: 2025.11 Install-Package IronPdf nuget.org/packages/IronPdf/ 在解决方案资源管理器中,右键点击引用,管理 NuGet 包 选择浏览并搜索 “IronPdf” 选择包并安装 下载 DLL 版本: 2025.11 立即下载 或在此处下载 Windows 安装程序。 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPdf.dll” $749 起 15 1000 1 现在已使用 Nuget 安装 您的浏览器正在下载 IronPDF 下一步:开始免费 30 天试用 无需信用卡 在真实环境中测试完全功能的产品24/5 技术支持 立即获取您的免费30 天试用密钥。 谢谢。如果您想与我们的许可团队交谈: 试用表单已成功提交。您的试用密钥应在电子邮件中。如果没有,请联系我们support@ironsoftware.com 安排电话交流 有问题?联系我们的开发团队。 无需信用卡或创建账户 15 1000 1 现在已使用 Nuget 安装 您的浏览器正在下载 IronPDF 下一步:开始免费 30 天试用 无需信用卡 在真实环境中测试完全功能的产品24/5 技术支持 谢谢。查看您的许可证选项: 谢谢。如果您想与我们的许可团队交谈: 查看许可 安排电话交流 有问题吗? 联系我们 与我们的开发团队交流。 有问题?联系我们的开发团队。 免费开始 无需信用卡 在实际环境中测试 在生产环境中测试,没有水印。在您需要的地方使用。 功能齐全的产品 使用功能齐全的产品30天。几分钟内即可启动和运行。 24/5 技术支持 在产品试用期间,全面访问我们的支持工程团队 立即获取您的免费30天试用密钥。 无需信用卡或账户创建 试用表单已提交成功。 您的试用密钥应该在邮件中。如果没有,请联系support@ironsoftware.com 受到全球数百万工程师的信赖 免费开始 无需信用卡 在实际环境中测试 在生产环境中测试,没有水印。在您需要的地方使用。 功能齐全的产品 使用功能齐全的产品30天。几分钟内即可启动和运行。 24/5 技术支持 在产品试用期间,全面访问我们的支持工程团队 立即获取您的免费30天试用密钥。 使用 NuGet 安装 查看许可 许可证起价 $749。 有问题吗?联系我们。 受到全球数百万工程师的信赖 联系销售团队 预订无义务咨询 我们如何为您提供帮助: 就您的工作流程和痛点提供咨询看看其他公司如何解决它们的.NET文档需求回答您的所有问题,以确保您获得所需的所有信息。(没有任何承诺。)获取符合您项目需求的定制报价 获取您的无义务咨询 填写下面的表格或通过sales@ironsoftware.com 您的资料将始终保密。 深受全球 200 多万工程师信赖 预定免费现场演示 预定一次 30 分钟的个人演示。 无合约、无卡号、无任何长期承诺。 下面是您可以期待的内容: 我们产品及其关键功能的在线演示获取项目特定功能建议所有问题均会得到解答,以确保您拥有所需的所有信息。(无需任何承诺。) 选择时间 您的信息 预约您的免费现场演示 深受全球 200 多万工程师信赖 法律信息 版权所有 © Iron Software 2013-2025 条款 隐私政策 Cookie 版权所有 © Iron Software 2013-2025 条款 隐私政策 Cookie