Imports ComPDFKit.PDFDocument Imports System Imports System.IO Module BookmarkTest Private parentPath = Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(System.IO.Directory.GetCurrentDirectory()))) Private outputPath As String = Path.Combine(parentPath, "Output", "VB") Sub Main() ' Preparation work Console.WriteLine("Running Bookmark test sample…" + Environment.NewLine) SDKLicenseHelper.LicenseVerify() If Not Directory.Exists(outputPath) Then Directory.CreateDirectory(outputPath) End If Dim document As CPDFDocument = CPDFDocument.InitWithFilePath("ThreeBookmark.pdf") #Region "Sample 1: Access bookmark" If AccessBookmark(document) Then Console.WriteLine("Check bookmark list done.") Else Console.WriteLine("Check bookmark list failed.") Console.WriteLine("--------------------") Console.WriteLine("Stop.") Console.WriteLine("--------------------") Console.ReadLine() Return End If document.Release() Console.WriteLine("--------------------") #End Region #Region "Sample 2: Create bookmark" document = CPDFDocument.InitWithFilePath("ThreeBookmark.pdf") If CreateBookmark(document) Then Console.WriteLine("Add bookmark done.") Else Console.WriteLine("Add bookmark failed.") End If document.Release() Console.WriteLine("--------------------") #End Region #Region "Sample 3: Remove bookmark" document = CPDFDocument.InitWithFilePath("ThreeBookmark.pdf") If RemoveBookmark(document) Then Console.WriteLine("Remove bookmark done.") Else Console.WriteLine("Remove bookmark failed.") End If document.Release() Console.WriteLine("--------------------") #End Region Console.WriteLine("Done!") Console.WriteLine("--------------------") Console.ReadLine() End Sub ''' ''' Access bookmark ''' Private Function AccessBookmark(document As CPDFDocument) As Boolean Dim bookmarkList As List(Of CPDFBookmark) = document.GetBookmarkList() ' Check if there are 3 bookmarks in the document If bookmarkList.Count = 3 Then Console.WriteLine("Access bookmark list done.") Else Return False End If ' Check the title of the bookmark for page index 0 If document.BookmarkForPageIndex(0).Title = "Bookmark1" Then Console.WriteLine("Access bookmark for a page done.") Else Return False End If Return True End Function ''' ''' Create bookmark ''' Private Function CreateBookmark(document As CPDFDocument) As Boolean Dim bookmarkCount As Integer = document.GetBookmarkList().Count Dim bookmark As New CPDFBookmark() bookmark.Title = "new bookmark" bookmark.PageIndex = 4 ' Add the new bookmark to the document document.AddBookmark(bookmark) ' Check if the number of bookmarks has increased by 1 If document.GetBookmarkList().Count - bookmarkCount = 1 Then Console.WriteLine("Add bookmark in page {0}. ", bookmark.PageIndex + 1) Else Return False End If ' Save the modified document Dim addBookmarkPath As String = outputPath & "//AddBookmarkTest.pdf" If document.WriteToFilePath(addBookmarkPath) Then Console.WriteLine("Browse the changed file in " & addBookmarkPath) Return True Else Return False End If End Function ''' ''' Remove bookmark ''' Private Function RemoveBookmark(document As CPDFDocument) As Boolean Dim bookmarkCount As Integer = document.GetBookmarkList().Count ' Remove the first bookmark document.RemoveBookmark(0) ' Check if the number of bookmarks has decreased by 1 If bookmarkCount - document.GetBookmarkList().Count = 1 Then Console.WriteLine("Bookmark removed.") Else Return False End If ' Save the modified document Dim removeBookmarkPath As String = outputPath & "//RemoveBookmarkTest.pdf" If document.WriteToFilePath(removeBookmarkPath) Then Console.WriteLine("Browse the changed file in " & removeBookmarkPath) Return True Else Return False End If End Function End Module