彩票走势图

PDF管理控件Spire.PDF书签教程:如何添加书签和获取多级书签

翻译|使用教程|编辑:李显亮|2019-07-24 09:41:09.720|阅读 1128 次

概述:Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件,支持 .NET、Java、WPF和Silverlight。书签不仅可以帮助我们跳转到文档中相应的位置,还可以让我们快速地了解文档所讲述的内容。本文将介绍如何添加删除PDF书签,获取多级书签。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程


下载Spire.PDF最新试用版


Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API拥有丰富的功能,如安全设置(包括数字签名)、PDF文本/附件/图片提取、PDF文件合并/拆分、元数据更新、章节和段落优化、图形/图像描绘和插入、表格创建和处理、数据导入等等。

书签不仅可以帮助我们跳转到文档中相应的位置,还可以让我们快速地了解文档所讲述的内容。本文将介绍如何添加删除PDF书签,获取多级书签。


C# 获取 PDF 多级书签

Spire.PDF不仅支持对简单书签的操作,还支持多级书签。接下来将介绍如何使用Spire.PDF来获取PDF文档中的多级书签。

static void Main(string[] args)
{
    //加载含有多级书签的PDF文件
    PdfDocument doc = new PdfDocument();
    doc.LoadFromFile("示例.pdf");
    //获取文档的书签
    PdfBookmarkCollection bookmarks = doc.Bookmarks;
    //声明一个可变字符串
    StringBuilder stringbuilder = new StringBuilder();
    //获取父书签和子书签           
GetBookmarkTitle(bookmarks, stringbuilder);
    //声明txt文件,并将获得的多级书签写入到文件.txt
    String fileName = "D://文件.txt";
    File.WriteAllText(fileName, stringbuilder.ToString());
    Console.ReadLine();
}
static void GetBookmarkTitle(PdfBookmarkCollection bookmarks, StringBuilder stringbuilder)
  {           
   if (bookmarks.Count > 0)
      {
      foreach (PdfBookmark parentBookmark in bookmarks)
        {
           stringbuilder.AppendLine(parentBookmark.Title);
           //递归文档多级书签
           GetBookmarkTitle(parentBookmark, stringbuilder);            
        }
      }
}

PDF管理控件Spire.PDF教程:如何添加书签和获取多级书签

C# 添加、修改和删除 PDF 书签

添加书签

在Spire.PDF中,每个PDF文档都有一个书签列表(PdfBookmarkCollection)。我们可以通过PdfDocument对象的Bookmarks属性来获取该列表,然后通过Add () 方法将书签添加到列表中。

//新建PDF文档
PdfDocument pdf = new PdfDocument();
//添加页面
PdfPageBase page = pdf.Pages.Add();

//添加书签
PdfBookmark bookmark = pdf.Bookmarks.Add("第一页");

//设置书签所指向的页面和位置,(0,0)表示页面的开始位置
bookmark.Destination = new PdfDestination(page);
bookmark.Destination.Location = new PointF(0, 0);

//设置书签的文本格式和颜色
bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.Black;

//保存文档
pdf.SaveToFile("Bookmark2.pdf");

PDF管理控件Spire.PDF教程:如何添加书签和获取多级书签

添加子书签

//新建PDF文档
PdfDocument pdf = new PdfDocument();
//添加页面
PdfPageBase page = pdf.Pages.Add();

//添加书签
PdfBookmark bookmark = pdf.Bookmarks.Add("第一章 热传导");

//设置书签指向的页面和位置
bookmark.Destination = new PdfDestination(page);
bookmark.Destination.Location = new PointF(0, 0);

//设置书签的文本格式和颜色
bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.SeaGreen;

//添加子书签
PdfBookmark childBookmark = bookmark.Insert(0, "1.1 热传导基本知识");

//设置子书签指向的页面和位置
childBookmark.Destination = new PdfDestination(page);
childBookmark.Destination.Location = new PointF(400, 300);

//设置子书签的文本格式和颜色
childBookmark.DisplayStyle = PdfTextStyle.Regular;
childBookmark.Color = Color.Black;

//保存文档
pdf.SaveToFile("ChildBookmark.pdf");

PDF管理控件Spire.PDF教程:如何添加书签和获取多级书签

添加书签到现有文档

除了在新建的PDF文档里添加书签,我们还可以给现有的PDF文档添加书签。加载PDF文档的方法除LoadFromFile以外,还有LoadFromStream (从流加载),LoadFromHTML(从HTML加载)等,可根据自己的需求选择相应的加载方式。

//加载文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("示例.pdf");

for (int i = 0; i < pdf.Pages.Count; i++)
{
    //添加书签
    PdfBookmark bookmark = pdf.Bookmarks.Add(string.Format("第{0}章", i+1));

    //设置书签指向的页面和位置
    bookmark.Destination = new PdfDestination(pdf.Pages[i]);
    bookmark.Destination.Location = new PointF(0, 0);

    //设置书签的文本格式和颜色
    bookmark.DisplayStyle = PdfTextStyle.Bold;
    bookmark.Color = Color.Black;
}
//保存文档
pdf.SaveToFile("Bookmark2.pdf");

PDF管理控件Spire.PDF教程:如何添加书签和获取多级书签

修改书签

Spire.PDF支持多种书签修改方式,例如修改现有书签的内容,插入新书签到现有书签列表,插入子书签到现有书签等。这里我们选取修改书签内容和插入新书签到现有书签列表进行介绍。

修改现有书签内容

//加载文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//获取书签列表
PdfBookmarkCollection bookmarks = pdf.Bookmarks;

//获取第一个书签
PdfBookmark bookmark = bookmarks[0];

//修改书签指向的页面
bookmark.Destination = new PdfDestination(document.Pages[1]);

//修改书签的文本格式和颜色
bookmark.DisplayStyle = PdfTextStyle.Bold;
bookmark.Color = Color.Green;

//修改书签的title
bookmark.Title = "修改";

//保存文档
pdf.SaveToFile("ModifyBookmark.pdf");

PDF管理控件Spire.PDF教程:如何添加书签和获取多级书签

插入新书签到现有书签列表

//加载文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//插入新书签到指定位置
PdfBookmark bookmark = pdf.Bookmarks.Insert(2, "新增第三章");

//设置书签所指向的页面和位置
bookmark.Destination = new PdfDestination(document.Pages[1]);
bookmark.Destination.Location = new PointF(0, 300);

//保存文档
pdf.SaveToFile("InsertBookmark.pdf");

PDF管理控件Spire.PDF教程:如何添加书签和获取多级书签

删除书签

删除书签时,可以使用书签的序号,也可以使用书签的名称。这里所使用的是序号的方式。

//加载文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//获取所有书签
PdfBookmarkCollection bookmarks = document.Bookmarks;

//删除第一个书签
bookmarks.RemoveAt(0);

//保存文档
pdf.SaveToFile("DeleteBookmark.pdf");

PDF管理控件Spire.PDF教程:如何添加书签和获取多级书签


如果你有任何问题或意见,可在下方评论区留言,点击资源列表查看更多教程资源~


*想要购买正版授权的朋友可以哦~

扫描关注“慧聚IT”微信公众号,及时获取更多产品最新动态及最新资讯

1562572142.jpg



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP