internal static bool AddBookmarkTooutline(PDFBookmarkItem bookmarentry, PDDocument document, PDOutlineItem outline) { bool flag; try { if (bookmarentry.BookMarkPage <= document.getNumberOfPages()) { PDPage page = document.getPage(bookmarentry.BookMarkPage - 1); PDPageFitWidthDestination pDPageFitWidthDestination = new PDPageFitWidthDestination(); pDPageFitWidthDestination.setPage(page); outline.setDestination(pDPageFitWidthDestination); outline.setTitle(bookmarentry.BookmarkTitle); } if ((bookmarentry.BookmarkItems == null ? false : bookmarentry.BookmarkItems.Count > 0)) { foreach (PDFBookmarkItem bookmarkItem in bookmarentry.BookmarkItems) { PDOutlineItem pDOutlineItem = new PDOutlineItem(); PDFHelper.AddBookmarkTooutline(bookmarkItem, document, pDOutlineItem); outline.addLast(pDOutlineItem); } } flag = true; } catch (Exception exception) { flag = false; } return(flag); }
public bool AddBookmarks(PDFBookmark bookmarks) { bool flag; try { PDDocumentOutline pDDocumentOutline = new PDDocumentOutline(); this.PDFBoxDocument.getDocumentCatalog().setDocumentOutline(pDDocumentOutline); foreach (PDFBookmarkItem bookmarkItem in bookmarks.BookmarkItems) { PDOutlineItem pDOutlineItem = new PDOutlineItem(); PDFHelper.AddBookmarkTooutline(bookmarkItem, this.PDFBoxDocument, pDOutlineItem); pDDocumentOutline.addLast(pDOutlineItem); } pDDocumentOutline.openNode(); flag = true; } catch (Exception exception) { flag = false; } return(flag); }