From 775441b7c69100e52578fbe48113e6c114066ada Mon Sep 17 00:00:00 2001 From: Rob Wu Date: Tue, 7 Feb 2017 23:38:23 +0100 Subject: [PATCH] Refactor: configurable page rotation in print job Determine the page rotation at the same place as where the page size is determined. This allows us to implement custom print page rotation logic in one place, in the future. --- web/firefox_print_service.js | 2 +- web/pdf_print_service.js | 2 +- web/pdf_viewer.js | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/web/firefox_print_service.js b/web/firefox_print_service.js index a461ef09c..4d7b6efc9 100644 --- a/web/firefox_print_service.js +++ b/web/firefox_print_service.js @@ -61,7 +61,7 @@ var renderContext = { canvasContext: ctx, transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0], - viewport: pdfPage.getViewport(1), + viewport: pdfPage.getViewport(1, size.rotation), intent: 'print' }; return pdfPage.render(renderContext).promise; diff --git a/web/pdf_print_service.js b/web/pdf_print_service.js index 5cf2c64df..6e6b8da70 100644 --- a/web/pdf_print_service.js +++ b/web/pdf_print_service.js @@ -60,7 +60,7 @@ var renderContext = { canvasContext: ctx, transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0], - viewport: pdfPage.getViewport(1), + viewport: pdfPage.getViewport(1, size.rotation), intent: 'print' }; return pdfPage.render(renderContext).promise; diff --git a/web/pdf_viewer.js b/web/pdf_viewer.js index 47797cccb..3fe031510 100644 --- a/web/pdf_viewer.js +++ b/web/pdf_viewer.js @@ -949,12 +949,16 @@ var PDFViewer = (function pdfViewer() { /** * Returns sizes of the pages. - * @returns {Array} Array of objects with width/height fields. + * @returns {Array} Array of objects with width/height/rotation fields. */ getPagesOverview: function () { return this._pages.map(function (pageView) { var viewport = pageView.pdfPage.getViewport(1); - return {width: viewport.width, height: viewport.height}; + return { + width: viewport.width, + height: viewport.height, + rotation: viewport.rotation, + }; }); }, };