aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/pdf
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/pdf')
-rw-r--r--src/client/views/pdf/PDFViewer.tsx14
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();
})
);