Aspose.pdf 关于插入书签到指定位置,感谢大牛查看


#1

源文件:
pdflj.pdf (7.8 MB)

要实现如下截图:
QQ截图20190906211848.jpg (92.8 KB)

使用prevBookmarks.Insert(1, pdfOutline);可以将书签插入任何位置,但就是插入不到位置1。

一下代码复制便可使用,辛苦技术大哥了:

       Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document("pdflj.pdf");

        OutlineCollection rootBookmark = pdfDocument.Outlines;
        //创建书签对象
        Aspose.Pdf.OutlineItemCollection pdfOutline = new OutlineItemCollection(rootBookmark);          
        pdfOutline.Title = "目录";         
        //设定目标页面 
        pdfOutline.Action = new GoToAction(pdfDocument.Pages[2]);
        
        //创建list
        List <OutlineItemCollection> prevBookmarks = new  List<OutlineItemCollection>();
        //循环将书签存入list           
        foreach (OutlineItemCollection outlineItem in rootBookmark)
           {
                      
           prevBookmarks.Add(outlineItem);              
        }
       
        //删除现有书签。
        pdfDocument.Outlines.Delete();
        //向list集合指定位子插入新书签   
        prevBookmarks.Insert(1, pdfOutline);
        
        //循环添加新书签       
        foreach (OutlineItemCollection cc in prevBookmarks)
            {
           
             pdfDocument.Outlines.Add(cc);

        }
        

        pdfDocument.Save("output.pdf");

#2

@fhn123456

感谢您与支持人员联系。

我们已经能够在我们的环境中重现这个问题。 我们的问题管理系统已记录带有ID PDFNET-46947的票据,以便进一步调查和解决。 故障单ID已与此线程链接,因此您将在故障单解决后立即收到通知。
我们对造成的不便很抱歉。