diff --git a/frontend/apps/reader/modules/readerfooter.lua b/frontend/apps/reader/modules/readerfooter.lua index d8196afcc..fa090837e 100644 --- a/frontend/apps/reader/modules/readerfooter.lua +++ b/frontend/apps/reader/modules/readerfooter.lua @@ -546,6 +546,7 @@ end function ReaderFooter:onPageUpdate(pageno) self.pageno = pageno self.pages = self.view.document:getPageCount() + self.ui.doc_settings:saveSetting("doc_pages", self.pages) -- for Book information self:updateFooterPage() end diff --git a/frontend/apps/reader/readerui.lua b/frontend/apps/reader/readerui.lua index 9eb5b532d..8c0f57c44 100644 --- a/frontend/apps/reader/readerui.lua +++ b/frontend/apps/reader/readerui.lua @@ -342,6 +342,16 @@ function ReaderUI:init() end self.postInitCallback = nil + -- Now that document is loaded, store book metadata in settings + -- (so that filemanager can use it from sideCar file to display + -- Book information). + -- via pcall because picdocument:getProps() may fail + local ok, doc_props = pcall(self.document.getProps, self.document) + if not ok then + doc_props = {} + end + self.doc_settings:saveSetting("doc_props", doc_props) + -- After initialisation notify that document is loaded and rendered -- CREngine only reports correct page count after rendering is done -- Need the same event for PDF document diff --git a/frontend/document/pdfdocument.lua b/frontend/document/pdfdocument.lua index 993f6f123..112bbf7a9 100644 --- a/frontend/document/pdfdocument.lua +++ b/frontend/document/pdfdocument.lua @@ -174,6 +174,8 @@ function PdfDocument:getProps() props.authors = props.author props.series = "" props.language = "" + props.keywords = props.keywords + props.description = props.subject return props end