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软件请点击这里下载!
相关内容推荐:


 QQ交谈
QQ交谈 在线咨询
在线咨询 
                 
                
 渝公网安备
            50010702500608号
渝公网安备
            50010702500608号
             
            
 客服热线
客服热线