彩票走势图

PDF管理控件Aspose.PDF for .Net使用教程(二十九):添加和删除PDF中的书签

翻译|使用教程|编辑:李显亮|2020-03-09 10:10:46.983|阅读 343 次

概述:在本系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。本文将介绍添加和删除PDF中的书签。

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

相关链接:

Aspose.PDF for .NET是一种高PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成、修改、转换、渲染、保护和打印PDF文档,而无需使用Adobe Acrobat。此外,API还提供PDF压缩选项,表格创建和操作,图形和图像功能,广泛的超链接功能,印章和水印任务,扩展的安全控制和自定义字体处理。

在接下来的系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。本文将介绍添加和删除PDF中的书签。

>>Aspose.PDF for .NET更新至最新版v20.2,欢迎下载体验。


将书签添加到PDF文档

书签保存在Document对象的OutlineItemCollection集合中,而对象本身也在OutlineCollection集合中。要将书签添加到PDF:

  1. 使用Document对象打开PDF文档。
  2. 创建一个书签并定义其属性。
  3. 将OutlineItemCollection集合添加到Outlines集合中。

以下代码段显示了如何在PDF文档中添加书签。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_AsposePdf_Bookmarks();

// Open document
Document pdfDocument = new Document(dataDir + "AddBookmark.pdf");

// Create a bookmark object
OutlineItemCollection pdfOutline = new OutlineItemCollection(pdfDocument.Outlines);
pdfOutline.Title = "Test Outline";
pdfOutline.Italic = true;
pdfOutline.Bold = true;
// Set the destination page number
pdfOutline.Action = new GoToAction(pdfDocument.Pages[1]);
// Add bookmark in the document's outline collection.
pdfDocument.Outlines.Add(pdfOutline);

dataDir = dataDir + "AddBookmark_out.pdf";
// Save output
pdfDocument.Save(dataDir);

将子书签添加到PDF文档

书签可以嵌套,表示与父书签和子书签的层次关系。本文介绍了如何将子书签(即第二级书签)添加到PDF。要将子书签添加到PDF文件,请首先添加父书签:

  1. 打开一个文档。
  2. 将书签添加到OutlineItemCollection,以定义其属性。
  3. 将添加OutlineItemCollection到Document对象的OutlineCollection集合。

就像上面解释的父书签一样,创建了子书签,但是将其添加到了父书签的Outlines集合中。

以下代码段显示了如何将子书签添加到PDF文档。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_AsposePdf_Bookmarks();

// Open document
Document pdfDocument = new Document(dataDir + "AddChildBookmark.pdf");

// Create a parent bookmark object
OutlineItemCollection pdfOutline = new OutlineItemCollection(pdfDocument.Outlines);
pdfOutline.Title = "Parent Outline";
pdfOutline.Italic = true;
pdfOutline.Bold = true;      
          
// Create a child bookmark object
OutlineItemCollection pdfChildOutline = new OutlineItemCollection(pdfDocument.Outlines);
pdfChildOutline.Title = "Child Outline";
pdfChildOutline.Italic = true;
pdfChildOutline.Bold = true;
     
// Add child bookmark in parent bookmark's collection
pdfOutline.Add(pdfChildOutline);
// Add parent bookmark in the document's outline collection.
pdfDocument.Outlines.Add(pdfOutline);
            
dataDir = dataDir + "AddChildBookmark_out.pdf";
// Save output
pdfDocument.Save(dataDir);

删除PDF文档中的所有书签

PDF中的所有书签都保存在OutlineCollection集合中。本文介绍了如何从PDF文件中删除所有书签。要从PDF文件中删除所有书签:

  1. 调用OutlineCollection集合的Delete方法。
  2. 使用Document对象的Save方法保存修改后的文件。

以下代码段显示了如何从PDF文档中删除所有书签。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_AsposePdf_Bookmarks();

// Open document
Document pdfDocument = new Document(dataDir + "DeleteAllBookmarks.pdf");

// Delete all bookmarks
pdfDocument.Outlines.Delete();

dataDir = dataDir + "DeleteAllBookmarks_out.pdf";
// Save updated file
pdfDocument.Save(dataDir);

从PDF文档中删除特定的书签

从PDF文档删除所有附件显示了如何从PDF文件删除所有附件。也可以仅删除特定的附件。要从PDF文件中删除特定的书签:

  1. 将书签的标题作为参数传递给OutlineCollection集合的Delete方法。
  2. 使用Document对象Save方法保存更新的文件。

该Document班提供的OutlineCollection集合。该Delete}方法删除的标题传递给方法的任何书签。

以下代码段显示了如何从PDF文档中删除特定的书签。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_AsposePdf_Bookmarks();

// Open document
Document pdfDocument = new Document(dataDir + "DeleteParticularBookmark.pdf");

// Delete particular outline by Title
pdfDocument.Outlines.Delete("Child Outline");

dataDir = dataDir + "DeleteParticularBookmark_out.pdf";
// Save updated file
pdfDocument.Save(dataDir);
还想要更多吗?您可以点击阅读【2019 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询

标签:

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP