We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Aspose.Pdf将书签对应的起始页,储存为一个pdf

您好,技术大牛,比如我的pdf有6个书签,每个书签对应的有多个页,如何将每个书签拆分成一个pdf,如何实现,感谢技术大牛。

我现在可以获得书签对应的页号,如何获得书签的结束页号,如何根据获得开始页和结束页进行拆分出来。谢谢

@fhn123456

您能否与我们共享您的样本PDF文档,以便我们可以在我们的环境中测试场景并进行相应处理。

感谢您回复,问题已经解决了,一下是代码,可以帮助跟多和我一样迷茫的人。

        //获得书签书签结束号-1       
        Aspose.Pdf.Document document = new Aspose.Pdf.Document(pdflj);
        // Create PdfBookmarkEditor 创建pdfbookmark编辑器
        PdfBookmarkEditor bookmarkEditor = new PdfBookmarkEditor();
        // Open PDF file 打开pdf文件
        bookmarkEditor.BindPdf(document);

        // Extract bookmarks  提取书签
        Aspose.Pdf.Facades.Bookmarks bookmarks = bookmarkEditor.ExtractBookmarks();
   

        for (int i = 0; i < bookmarks.Count; i++)
        {
            int Inex1 = i+1;
           
            //书签的开始页
            int pageNum = bookmarks[i].PageNumber; 
            //书签的名字
            String p = bookmarks[i].Title;
            //获得书签的结束页i+1获得第二个书签的位置 -1减去二个书签的第一个页面
            int pageNum1=0;
            int oo = document.Pages.Count;
            if (Inex1 >= bookmarks.Count)
            {
                pageNum1 = oo;

            }
            else {

                pageNum1 = bookmarks[i + 1].PageNumber - 1;
                
            }


        //拆分
        PdfFileEditor pdfFileEditor = new PdfFileEditor();

      pdfFileEditor.Extract(pdflj, pageNum, pageNum1, "文件路劲和名字");

@fhn123456

很高兴知道您已经成功解决了问题。是的,肯定会帮助面临类似问题的其他人。请继续使用我们的API,如果您遇到任何问题,请随时告诉我们。