在iText中,使用C#为PDF文档添加书签需要遵循以下步骤:
Install-Package iTextSharp using System; using System.IO; using iTextSharp.text; using iTextSharp.text.pdf; public void CreatePdfWithBookmark(string outputPath) { // 创建一个Document实例 Document document = new Document(); // 创建一个PdfWriter实例 PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(outputPath, FileMode.Create)); // 打开文档 document.Open(); // 添加书签标题和页码 AddBookmark("Introduction", 0); AddBookmark("Section 1", 1); AddBookmark("Section 2", 3); AddBookmark("Conclusion", 5); // 添加页面 document.Add(new Paragraph("Introduction")); document.Add(new AreaBreak()); document.Add(new Paragraph("Section 1")); document.Add(new AreaBreak()); document.Add(new Paragraph("Section 2")); document.Add(new AreaBreak()); document.Add(new Paragraph("Conclusion")); // 关闭文档 document.Close(); } private void AddBookmark(string title, int pageNumber) { // 获取当前页码 int currentPage = writer.GetCurrentPageNumber(); // 如果当前页码大于书签页码,跳转到书签页码 if (currentPage > pageNumber) { pageNumber = currentPage; } // 创建一个书签 PdfOutline outline = writer.RootOutline; PdfOutline bookmark = new PdfOutline(outline, new PdfDestination(PdfDestination.FITHERE), title); // 将当前页码设置为书签的下一页 bookmark.SetDestination(new PdfDestination(PdfDestination.FITHERE, new PdfOutline(outline, new PdfDestination(PdfDestination.FITHERE), pageNumber))); } CreatePdfWithBookmark方法来创建带有书签的PDF文档:string outputPath = "output.pdf"; CreatePdfWithBookmark(outputPath); 运行此代码后,将在指定的输出路径生成一个带有书签的PDF文档。