Home  >  Article  >  Backend Development  >  Introduction to how to add, modify and delete PDF bookmarks in C#

Introduction to how to add, modify and delete PDF bookmarks in C#

黄舟
黄舟Original
2017-07-30 09:58:011943browse

This article mainly introduces the example code of adding, modifying and deleting PDF bookmarks in C#. The editor thinks it is quite good, so I will share it with you now and give it as a reference. Let’s follow the editor and take a look.

Sometimes when we read a PDF document, we will encounter such a situation: the PDF document has many pages, but there are no bookmarks, so we cannot quickly understand the document based on the bookmarks. The content explained cannot be clicked on the bookmark to quickly jump to the corresponding location, but can only be read page by page, which is very distressing. I believe that developers will also have such functional requirements when developing PDF-related applications, so in this article I will introduce how to use programming (C#) and the Spire.PDF component to add bookmarks to PDF documents ( Including adding bookmarks to existing documents and adding sub-bookmarks), as well as modifying and deleting specified bookmarks in existing PDF documents.

Spire.PDF Component Overview

Spire.PDF is a professional PDF component for creating, editing in .NET applications , process and read PDF documents. Supports rich PDF document processing operations, such as PDF document merging/splitting, conversion (such as HTML to PDF, PDF to images, etc.), printing (including silent printing), compression, adding/modifying/deleting bookmarks, adding comments, and security settings (Including digital signatures), creating and filling fields, image insertion and extraction, text extraction and highlighting, etc. It does not depend on Adobe Acrobat, so the running environment does not require the installation of Adobe Reader or other similar components. This component is divided into commercial version and free version (not trial version). Generally, when personal use or operating PDF documents do not exceed 10 pages, you can use the free version.

Regarding its installation, there are many channels, including the official website and NuGet, the most favorite and commonly used method by developers. Enter the following PowerShell command in the NuGet Package Manager Console of Visual Studio and press Enter, the component dll will be automatically referenced into the project:


PM> Install-Package Spire.PDF

Implementation of adding, modifying and deleting PDF bookmarks

##1. Adding bookmarks

1.1 Adding bookmarks

In Spire.PDF, each PDF document has a bookmark list (PdfBookmarkCollection). We can get the list through the Bookmarks property of the PdfDocument object, and then add bookmarks to the list through the Add () method.


//新建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");

1.2 Add sub-bookmarks

How to add sub-bookmarks and add ordinary bookmarks Basically the same, the difference is that ordinary bookmarks are added directly to the document's bookmark list, while child bookmarks are added to the parent bookmark list.


//新建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");

1.3 Add bookmarks to existing documents

In addition to new PDF documents To add bookmarks, we can also add bookmarks to existing PDF documents. In addition to LoadFromFile, methods for loading PDF documents include LoadFromStream (loading from stream), LoadFromHTML (loading from HTML), etc. You can choose the corresponding loading method according to your own needs.


//加载文档

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

2. Modify bookmarks

Spire.PDF supports a variety of bookmark modification methods , such as modifying the content of existing bookmarks, inserting new bookmarks into the existing bookmark list, inserting sub-bookmarks into existing bookmarks, etc. Here I choose to modify the bookmark content and insert a new bookmark into the existing bookmark list for introduction.

2.1 Modify the content of existing bookmarks


//加载文档

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

##2.2 Insert new bookmarks Go to existing bookmark list

//加载文档

 

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


3. Delete bookmark

When deleting a bookmark, you can use the bookmark's serial number or the bookmark's name. Here I use the serial number method.

//加载文档

PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile("Bookmark2.pdf");

//获取书签列表

PdfBookmarkCollection bookmarks = document.Bookmarks;

//删除第一个书签

bookmarks.RemoveAt(0);

//保存文档

pdf.SaveToFile("DeleteBookmark.pdf");

The above is the detailed content of Introduction to how to add, modify and delete PDF bookmarks in C#. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn