From 5ece4da552533a28827f9a0b9088e14b11f1866c Mon Sep 17 00:00:00 2001 From: notmasteryet Date: Wed, 29 Jun 2011 22:43:59 -0500 Subject: [PATCH] the "hieght" and the 72dpi<->96dpi fixes --- multi_page_viewer.js | 19 +++++++++++-------- test/test_slave.html | 10 ++++++---- viewer.css | 7 ++++--- viewer.html | 4 +--- viewer.js | 10 +++++----- viewer_worker.html | 5 +---- worker/client.js | 7 +++++++ worker/pdf.js | 13 +++++++++++++ 8 files changed, 48 insertions(+), 27 deletions(-) diff --git a/multi_page_viewer.js b/multi_page_viewer.js index 87e2c8f14..7bd59873f 100644 --- a/multi_page_viewer.js +++ b/multi_page_viewer.js @@ -29,11 +29,15 @@ var PDFViewer = { scale: 1.0, pageWidth: function(page) { - return page.mediaBox[2] * PDFViewer.scale; + var pdfToCssUnitsCoef = 96.0 / 72.0; + var width = (page.mediaBox[2] - page.mediaBox[0]); + return width * PDFViewer.scale * pdfToCssUnitsCoef; }, pageHeight: function(page) { - return page.mediaBox[3] * PDFViewer.scale; + var pdfToCssUnitsCoef = 96.0 / 72.0; + var height = (page.mediaBox[3] - page.mediaBox[1]); + return height * PDFViewer.scale * pdfToCssUnitsCoef; }, lastPagesDrawn: [], @@ -106,10 +110,11 @@ var PDFViewer = { canvas.id = 'thumbnail' + num; canvas.mozOpaque = true; - // Canvas dimensions must be specified in CSS pixels. CSS pixels - // are always 96 dpi. These dimensions are 8.5in x 11in at 96dpi. - canvas.width = 104; - canvas.height = 134; + var pageWidth = PDFViewer.pageWidth(page); + var pageHeight = PDFViewer.pageHeight(page); + var thumbScale = Math.min(104 / pageWidth, 134 / pageHeight); + canvas.width = pageWidth * thumbScale; + canvas.height = pageHeight * thumbScale; div.appendChild(canvas); var ctx = canvas.getContext('2d'); @@ -175,8 +180,6 @@ var PDFViewer = { canvas.id = 'page' + num; canvas.mozOpaque = true; - // Canvas dimensions must be specified in CSS pixels. CSS pixels - // are always 96 dpi. These dimensions are 8.5in x 11in at 96dpi. canvas.width = PDFViewer.pageWidth(page); canvas.height = PDFViewer.pageHeight(page); div.appendChild(canvas); diff --git a/test/test_slave.html b/test/test_slave.html index d70e362af..0a330e703 100644 --- a/test/test_slave.html +++ b/test/test_slave.html @@ -4,6 +4,7 @@ +