Some test text!
Xamarin / Guides / User bookmarks
Apryse SDK allows you to create a maintain a list of user defined bookmarks.
The UserBookmarkDialogFragment
displays a list of user-defined bookmarks that can be used to navigate the document.
To show a user bookmark dialog fragment in your activity, create a new instance of UserBookmarkDialogFragment
by calling newInstance()
and setting the PDFViewCtrl
:
fun showBookmarksDialog(fragmentManager: FragmentManager, pdfViewCtrl: PDFViewCtrl): BookmarksDialogFragment {
var bookmarksDialog = pdftron.PDF.Dialog.BookmarksDialogFragment.NewInstance();
bookmarksDialog.SetPdfViewCtrl(pdfViewCtrl);
List<DialogFragmentTab> tabs = new List<DialogFragmentTab>();
var userBookmarksDialog = new DialogFragmentTab(
Java.Lang.Class.FromType(typeof(UserBookmarkDialogFragment)), BookmarksTabLayout.TagTabBookmark, null, "User Bookmarks", "Bookmarks Dialog", null);
tabs.Add(userBookmarksDialog);
bookmarksDialog.SetDialogFragmentTabs(tabs);
bookmarksDialog.SetStyle((int)DialogFragmentStyle.NoTitle, Resource.Style.PDFTronAppTheme);
bookmarksDialog.Show(fragmentManager, "bookmarks_dialog");
return bookmarksDialog;
}
You can set a listener to be notified when a user bookmark is clicked by calling setUserBookmarkListener(UserBookmarkDialogListener)
.
If the document has write access, users can add new user bookmarks using floating action button. To specify whether the document is read-only call setReadOnly(boolean)
.
It is possible to import and export user bookmarks in JSON format. Typical use case is to save and load the user bookmarks JSON from a server.
The user bookmark JSON is a dictionary with page indices as keys and the bookmark title as the values. For example: {"0":"Bookmark 1","2":"Bookmark 2"}
. Behaviour is undefined otherwise. Note that the page indices will be 0-indexed similar to XFDF.
// import
BookmarkManager.ImportPdfBookmarks(PDFViewCtrl, String)
// export
BookmarkManager.ExportPdfBookmarks(PDFDoc)
Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales