From 57e06445002f1d8477a325f28a84e1e890376b64 Mon Sep 17 00:00:00 2001 From: rob Date: Thu, 29 Sep 2022 23:09:47 -0400 Subject: [PATCH] optional viewport specification added to job.data --- app/workers/media/job/webpage-screenshot.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/workers/media/job/webpage-screenshot.js b/app/workers/media/job/webpage-screenshot.js index b17e12c..a4a0bcd 100644 --- a/app/workers/media/job/webpage-screenshot.js +++ b/app/workers/media/job/webpage-screenshot.js @@ -70,6 +70,12 @@ class WebpageScreenshotJob extends SiteWorkerProcess { const imageFilename = path.join(process.env.DTP_IMAGE_WORK_PATH, 'webpage-screenshot', `${documentId}.jpg`); this.log.info('job received to capture webpage screenshot', { modelName, documentId, pageUrl }); + job.data.viewport = Object.assign({ + width: 720, + height: 600, + deviceScaleFactor: 1.0, + }, job.data.viewport); + try { job.data.document = await model.findById(documentId); if (!job.data.document) { @@ -83,11 +89,7 @@ class WebpageScreenshotJob extends SiteWorkerProcess { } await job.page.setUserAgent(userAgent.toString()); - await job.page.setViewport({ - width: 720, - height: 600, - deviceScaleFactor: 1.0, - }); + await job.page.setViewport(job.data.viewport); await job.page.goto(pageUrl, { waitUntil: 'networkidle2' }); this.jobLog(job, 'capturing screenshot to file'); @@ -95,7 +97,7 @@ class WebpageScreenshotJob extends SiteWorkerProcess { path: imageFilename, type: 'jpeg', quality: 85, - fullPage: false, + fullPage: job.data.fullPage || false, }); this.jobLog(job, 'uploading screenshot to storage and database');