diff options
author | bobzel <zzzman@gmail.com> | 2025-07-09 12:15:24 -0400 |
---|---|---|
committer | bobzel <zzzman@gmail.com> | 2025-07-09 12:15:24 -0400 |
commit | a6196434b3003a41e6d1f6fe132bbba0a42bcf7c (patch) | |
tree | 888aacc52fc2328d8d09e5348af35ae70817d79f /src/client/views/pdf/PDFViewer.tsx | |
parent | fbbf2933418cc9a4434cfc873b88d04a392cd8e9 (diff) |
fixed landscape pdf loading. fixed crash when uploading a password protected pdf.
Diffstat (limited to 'src/client/views/pdf/PDFViewer.tsx')
-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(); }) ); |