LEADTOOLS使用教程:如何在.NET中创建和提取PDF书签
当使用内容丰富的PDF文件时,PDF书签非常有用。添加书签可以为读者提供更好的用户体验。没有人愿意花时间在一页一页的文本中搜索特定的标题和子标题,这样他们就可以找到所需的内容。LEADTOOLS PDF SDK库为开发者提供了创建PDF书签和提取书签PDF格式信息的功能。
LEADTOOLS PDF SDK库包括LEADTOOLS PDF Pro、LEADTOOLS Document Imaging Suite Developer Toolkit、LEADTOOLS Medical Imaging Suite、LEADTOOLS PACS Imaging Developer Toolkit等产品。
LEADTOOLS PDFBookmark结构包含单个PDF书签的属性。文件中书签的集合是PDF目录的组成部分,并使读者易于浏览文档。
书签包含代表其外观的三个属性:
- Title:这是向用户显示的文本
- Level:书签的缩进级别。级别0是根书签,级别1是上一个书签的子级,级别2是该子级的子级,依此类推。
- BookmarkStyle:书签的字体样式
创建PDF书签
static void createBookmarks(string fileName) { PDFFile file = new PDFFile(fileName); var bookmarks = new List<PDFBookmark>(); file.Load(); for (int i = 0; i < file.Pages.Count; i++) { PDFFilePage page = file.Pages[i]; PDFBookmark bookmark = new PDFBookmark(); bookmark.Title = "Goto page " + page.PageNumber.ToString(); bookmark.BookmarkStyle = PDFBookmarkStyle.Plain; bookmark.Level = 2; bookmark.TargetPageNumber = page.PageNumber; bookmark.TargetPageFitType = PDFPageFitType.Default; bookmark.TargetPosition = new PDFPoint(0, page.Height); bookmark.TargetZoomPercent = 0; bookmarks.Add(bookmark); } file.WriteBookmarks(bookmarks, pdfFile2); Console.WriteLine("--- Created bookmarks ---" + Environment.NewLine); }
提取PDF书签信息
要提取书签,您将需要使用PDFDocument.ParseDocumentStructure方法,然后访问PDFDocument.Bookmarks和PDFDocument.InternalLinks集合。
static void readBookmarks(string fileName) { using (PDFDocument document = new PDFDocument(fileName)) { document.ParseDocumentStructure(PDFParseDocumentStructureOptions.Bookmarks); Console.WriteLine($"{document.Bookmarks.Count} bookmarks found:"); foreach (PDFBookmark bookmark in document.Bookmarks) { Console.WriteLine($"Title: {bookmark.Title}, Level: {bookmark.Level}, Target page: {bookmark.TargetPageNumber}"); } } }结论
要进行测试,可以下载我的c# . net控制台项目。如果您还没有下载LEADTOOLS软件请点击这里下载!
相关内容推荐: