Bookmark last view
Saves the current reading position by adding a bookmark at the first visible page, replacing any existing bookmark for that page.
(function () {
let doc = Api.GetDocument();
let visiblePages = doc.GetCurrentVisiblePages();
if (!visiblePages || visiblePages.length === 0) {
console.log("No visible pages found.");
return;
}
let targetPageIndex = visiblePages[0];
doc.GoToPage(targetPageIndex);
let targetParagraph = doc.GetCurrentParagraph();
if (!targetParagraph) {
console.log("Could not get paragraph on page index: " + targetPageIndex);
return;
}
let bookmarkName = "CurrentBookmarkForPage" + (targetPageIndex + 1);
let existingBookmarks = doc.GetAllBookmarksNames();
if (existingBookmarks && existingBookmarks.indexOf(bookmarkName) !== -1) {
doc.DeleteBookmark(bookmarkName);
console.log("Removed existing bookmark: " + bookmarkName);
}
let range = targetParagraph.GetRange();
range.AddBookmark(bookmarkName);
})();
Methods used: GetDocument, GetCurrentVisiblePages, GoToPage, GetCurrentParagraph, GetAllBookmarksNames, DeleteBookmark, GetRange, AddBookmark
Result
