diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/views/pdf/PDFViewer.tsx | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/client/views/pdf/PDFViewer.tsx b/src/client/views/pdf/PDFViewer.tsx index bb4485712..c293750e1 100644 --- a/src/client/views/pdf/PDFViewer.tsx +++ b/src/client/views/pdf/PDFViewer.tsx @@ -151,25 +151,17 @@ export class PDFViewer extends ObservableReactComponent<IViewerProps> { }; @computed get _scrollHeight() { - return this._pageSizes.reduce((size, page) => size + page.height, 0); + return this._pageSizes.reduce((size, page) => size + page.height, 0) / window.devicePixelRatio; } initialLoad = () => { - const page0or180 = (page: { rotate: number }) => page.rotate === 0 || page.rotate === 180; if (this._pageSizes.length === 0) { const devicePixelRatio = window.devicePixelRatio; document.documentElement?.style.setProperty('--devicePixelRatio', window.devicePixelRatio.toString()); // set so that css can use this to adjust various PDFJs divs - Promise.all( - numberRange(this._props.pdf.numPages).map(i => - this._props.pdf.getPage(i + 1).then(page => ({ - width: (page.view[page0or180(page) ? 2 : 3] - page.view[page0or180(page) ? 0 : 1]) * devicePixelRatio, - height: (page.view[page0or180(page) ? 3 : 2] - page.view[page0or180(page) ? 1 : 0]) * devicePixelRatio, - })) - ) - ).then( + Promise.all(numberRange(this._props.pdf.numPages).map(i => this._props.pdf.getPage(i + 1).then(page => page.getViewport({ scale: devicePixelRatio })))).then( action(pages => { this._pageSizes = pages; - this._props.loaded(pages.lastElement(), this._props.pdf.numPages); + this._props.loaded(pages[0], this._props.pdf.numPages); this.createPdfViewer(); }) ); |