From 712dac77b963dea612ca495e7f146d4f37e68091 Mon Sep 17 00:00:00 2001 From: Alf Eaton Date: Wed, 8 Nov 2023 12:07:43 +0000 Subject: [PATCH] Improve PDF file view at high pixel density (#15624) GitOrigin-RevId: 49cc936853109aac6c2eefb9da1f0e794215ae13 --- .../js/features/file-view/components/file-view-pdf.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/web/frontend/js/features/file-view/components/file-view-pdf.tsx b/services/web/frontend/js/features/file-view/components/file-view-pdf.tsx index 12be147a72..86e55f5fed 100644 --- a/services/web/frontend/js/features/file-view/components/file-view-pdf.tsx +++ b/services/web/frontend/js/features/file-view/components/file-view-pdf.tsx @@ -35,14 +35,19 @@ const FileViewPdf: FC<{ const pdf = await PDFJS.getDocument(preview.url).promise + const scale = window.devicePixelRatio || 1 + for (let i = 1; i <= pdf.numPages; i++) { const page = await pdf.getPage(i) - const viewport = page.getViewport({ scale: 1 }) + const viewport = page.getViewport({ scale }) const canvas = document.createElement('canvas') canvas.classList.add('pdf-page') canvas.width = viewport.width canvas.height = viewport.height + canvas.style.width = `${viewport.width / scale}px` + canvas.style.height = `${viewport.height / scale}px` + element.append(canvas) page.render({ canvasContext: canvas.getContext('2d'),