@progress/kendo-pdfviewer-common 0.2.3-dev.202310040707 → 0.2.3-dev.202310060852

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/es/utils.js CHANGED
@@ -1,8 +1,24 @@
1
1
  import { saveAs } from '@progress/kendo-file-saver';
2
+ import { detectDesktopBrowser, detectMobileOS } from "@progress/kendo-common";
2
3
  import { getDocument, renderTextLayer } from 'pdfjs-dist';
4
+ const MAX_CANVAS_WIDTH_HEIGHT_CHROME = 65535;
5
+ const MAX_CANVAS_AREA_CHROME_SAFARI = 268435456;
6
+ const MAX_CANVAS_WIDTH_HEIGHT_FIREFOX = 32767;
7
+ const MAX_CANVAS_AREA_FIREFOX = 124992400;
8
+ const MAX_CANVAS_WIDTH_SAFARI = 4194303;
9
+ const MAX_CANVAS_HEIGHT_SAFARI = 8388607;
3
10
  const isIOS = () => /iPad|iPhone|iPod/.test(navigator.userAgent) || (navigator.maxTouchPoints &&
4
11
  navigator.maxTouchPoints > 2 &&
5
12
  /Macintosh/i.test(navigator.userAgent));
13
+ const isSafari = (userAgent) => {
14
+ return detectDesktopBrowser(userAgent).safari ||
15
+ (detectMobileOS(userAgent) && detectMobileOS(userAgent).browser === 'mobilesafari');
16
+ };
17
+ const isFirefox = (userAgent) => {
18
+ const desktopBrowser = detectDesktopBrowser(userAgent);
19
+ const mobileOS = detectMobileOS(userAgent);
20
+ return (desktopBrowser && desktopBrowser.mozilla) || (mobileOS && mobileOS.browser === 'firefox');
21
+ };
6
22
  /**
7
23
  * @hidden
8
24
  */
@@ -152,21 +168,7 @@ const openPrintDialog = (dom, width, height, done, onError) => {
152
168
  }
153
169
  };
154
170
  const renderCanvas = (page, done, error) => {
155
- const scaleNum = scale();
156
- const viewport = page.getViewport({ scale: scaleNum });
157
- const styles = {
158
- width: Math.floor(viewport.width / scaleNum) + 'pt',
159
- height: Math.floor(viewport.height / scaleNum) + 'pt'
160
- };
161
- const pageElement = createElement('div', '', styles);
162
- const canvas = createElement('canvas', '', {
163
- width: '100%',
164
- height: '100%'
165
- });
166
- canvas.height = viewport.height;
167
- canvas.width = viewport.width;
168
- const canvasContext = canvas.getContext('2d');
169
- pageElement.appendChild(canvas);
171
+ const { canvasContext, viewport, scaleNum, canvas, pageElement } = createCanvas(page);
170
172
  page.render({ canvasContext, viewport })
171
173
  .promise.then(() => {
172
174
  const printContent = new Image(Math.floor((viewport.width / scaleNum)), Math.floor((viewport.height / scaleNum)));
@@ -191,21 +193,7 @@ const createElement = function (name, className, styles) {
191
193
  return element;
192
194
  };
193
195
  const renderPage = (page, zoom, error) => {
194
- const scaleNum = scale();
195
- const viewport = page.getViewport({ scale: scaleNum });
196
- const styles = {
197
- width: (Math.floor(viewport.width / scaleNum) * zoom) + 'pt',
198
- height: (Math.floor(viewport.height / scaleNum) * zoom) + 'pt'
199
- };
200
- const pageElement = createElement('div', 'k-page', styles);
201
- const canvas = createElement('canvas', '', {
202
- width: '100%',
203
- height: '100%'
204
- });
205
- canvas.height = viewport.height;
206
- canvas.width = viewport.width;
207
- const canvasContext = canvas.getContext('2d');
208
- pageElement.appendChild(canvas);
196
+ const { canvasContext, viewport, pageElement, styles } = createCanvas(page, zoom, 'k-page');
209
197
  page.render({ canvasContext, viewport })
210
198
  .promise.then(() => {
211
199
  page.getTextContent().then((textContent) => {
@@ -347,3 +335,82 @@ export const currentPage = (rootElement) => {
347
335
  0.01)
348
336
  : 0;
349
337
  };
338
+ /**
339
+ * @hidden
340
+ *
341
+ * related to https://github.com/telerik/kendo-pdfviewer-common/issues/6
342
+ * the bigger the canvas size, the worse the performance;
343
+ * if initial size after scaling is greater than browser limits,
344
+ * we are limiting it to the limits, then halving it for performance.
345
+ */
346
+ const adjustCanvasSize = (targetWidth, targetHeight) => {
347
+ const { maxWidth, maxHeight, maxArea } = isFirefox(navigator.userAgent) ?
348
+ { maxWidth: MAX_CANVAS_WIDTH_HEIGHT_FIREFOX, maxHeight: MAX_CANVAS_WIDTH_HEIGHT_FIREFOX, maxArea: MAX_CANVAS_AREA_FIREFOX } :
349
+ isSafari(navigator.userAgent) ?
350
+ { maxWidth: MAX_CANVAS_WIDTH_SAFARI, maxHeight: MAX_CANVAS_HEIGHT_SAFARI, maxArea: MAX_CANVAS_AREA_CHROME_SAFARI } :
351
+ {
352
+ maxWidth: MAX_CANVAS_WIDTH_HEIGHT_CHROME,
353
+ maxHeight: MAX_CANVAS_WIDTH_HEIGHT_CHROME,
354
+ maxArea: MAX_CANVAS_AREA_CHROME_SAFARI
355
+ };
356
+ let adjustedWidth = targetWidth;
357
+ let adjustedHeight = targetHeight;
358
+ const ratio = targetWidth / targetHeight;
359
+ if (targetWidth > maxWidth) {
360
+ adjustedWidth = maxWidth;
361
+ const deltaWidth = targetWidth - maxWidth;
362
+ const deltaHeight = deltaWidth / ratio;
363
+ adjustedHeight = targetHeight - deltaHeight;
364
+ }
365
+ if (adjustedHeight > maxHeight) {
366
+ const deltaHeight = adjustedHeight - maxHeight;
367
+ const deltaWidth = deltaHeight * ratio;
368
+ adjustedHeight = maxHeight;
369
+ adjustedWidth -= deltaWidth;
370
+ }
371
+ const adjustedArea = adjustedWidth * adjustedHeight;
372
+ if (adjustedArea > maxArea) {
373
+ const areaRatio = Math.sqrt(maxArea / adjustedArea);
374
+ adjustedWidth *= areaRatio;
375
+ adjustedHeight *= areaRatio;
376
+ }
377
+ const adjustRatio = adjustedWidth / targetWidth;
378
+ return {
379
+ adjustedWidth: adjustedWidth !== targetWidth ? Math.floor(adjustedWidth / 2) : targetWidth,
380
+ adjustedHeight: adjustedHeight !== targetHeight ? Math.floor(adjustedHeight / 2) : targetHeight,
381
+ adjustRatio: adjustRatio !== 1 ? adjustRatio / 2 : 1
382
+ };
383
+ };
384
+ const createCanvas = (page, zoom = 1, cssClass = '') => {
385
+ const scaleNum = scale();
386
+ const viewport = page.getViewport({ scale: scaleNum });
387
+ const { adjustedWidth, adjustedHeight, adjustRatio } = adjustCanvasSize(viewport.width, viewport.height);
388
+ const styles = {
389
+ width: Math.floor(viewport.width / scaleNum) * zoom + 'pt',
390
+ height: Math.floor(viewport.height / scaleNum) * zoom + 'pt'
391
+ };
392
+ const pageElement = createElement('div', cssClass, styles);
393
+ const canvas = createElement('canvas', '', {
394
+ width: '100%',
395
+ height: '100%'
396
+ });
397
+ canvas.height = adjustedHeight;
398
+ canvas.width = adjustedWidth;
399
+ const canvasContext = canvas.getContext('2d');
400
+ pageElement.appendChild(canvas);
401
+ const adjustedScale = adjustRatio * scaleNum;
402
+ viewport.width = adjustedWidth;
403
+ viewport.height = adjustedHeight;
404
+ viewport.scale = adjustedScale;
405
+ viewport.transform[0] = adjustedScale;
406
+ viewport.transform[3] = -adjustedScale;
407
+ viewport.transform[5] = adjustedHeight;
408
+ return {
409
+ canvasContext,
410
+ viewport,
411
+ scaleNum,
412
+ canvas,
413
+ pageElement,
414
+ styles
415
+ };
416
+ };
@@ -1,8 +1,24 @@
1
1
  import { saveAs } from '@progress/kendo-file-saver';
2
+ import { detectDesktopBrowser, detectMobileOS } from "@progress/kendo-common";
2
3
  import { getDocument, renderTextLayer } from 'pdfjs-dist';
4
+ const MAX_CANVAS_WIDTH_HEIGHT_CHROME = 65535;
5
+ const MAX_CANVAS_AREA_CHROME_SAFARI = 268435456;
6
+ const MAX_CANVAS_WIDTH_HEIGHT_FIREFOX = 32767;
7
+ const MAX_CANVAS_AREA_FIREFOX = 124992400;
8
+ const MAX_CANVAS_WIDTH_SAFARI = 4194303;
9
+ const MAX_CANVAS_HEIGHT_SAFARI = 8388607;
3
10
  const isIOS = () => /iPad|iPhone|iPod/.test(navigator.userAgent) || (navigator.maxTouchPoints &&
4
11
  navigator.maxTouchPoints > 2 &&
5
12
  /Macintosh/i.test(navigator.userAgent));
13
+ const isSafari = (userAgent) => {
14
+ return detectDesktopBrowser(userAgent).safari ||
15
+ (detectMobileOS(userAgent) && detectMobileOS(userAgent).browser === 'mobilesafari');
16
+ };
17
+ const isFirefox = (userAgent) => {
18
+ const desktopBrowser = detectDesktopBrowser(userAgent);
19
+ const mobileOS = detectMobileOS(userAgent);
20
+ return (desktopBrowser && desktopBrowser.mozilla) || (mobileOS && mobileOS.browser === 'firefox');
21
+ };
6
22
  /**
7
23
  * @hidden
8
24
  */
@@ -152,21 +168,7 @@ const openPrintDialog = (dom, width, height, done, onError) => {
152
168
  }
153
169
  };
154
170
  const renderCanvas = (page, done, error) => {
155
- const scaleNum = scale();
156
- const viewport = page.getViewport({ scale: scaleNum });
157
- const styles = {
158
- width: Math.floor(viewport.width / scaleNum) + 'pt',
159
- height: Math.floor(viewport.height / scaleNum) + 'pt'
160
- };
161
- const pageElement = createElement('div', '', styles);
162
- const canvas = createElement('canvas', '', {
163
- width: '100%',
164
- height: '100%'
165
- });
166
- canvas.height = viewport.height;
167
- canvas.width = viewport.width;
168
- const canvasContext = canvas.getContext('2d');
169
- pageElement.appendChild(canvas);
171
+ const { canvasContext, viewport, scaleNum, canvas, pageElement } = createCanvas(page);
170
172
  page.render({ canvasContext, viewport })
171
173
  .promise.then(() => {
172
174
  const printContent = new Image(Math.floor((viewport.width / scaleNum)), Math.floor((viewport.height / scaleNum)));
@@ -191,21 +193,7 @@ const createElement = function (name, className, styles) {
191
193
  return element;
192
194
  };
193
195
  const renderPage = (page, zoom, error) => {
194
- const scaleNum = scale();
195
- const viewport = page.getViewport({ scale: scaleNum });
196
- const styles = {
197
- width: (Math.floor(viewport.width / scaleNum) * zoom) + 'pt',
198
- height: (Math.floor(viewport.height / scaleNum) * zoom) + 'pt'
199
- };
200
- const pageElement = createElement('div', 'k-page', styles);
201
- const canvas = createElement('canvas', '', {
202
- width: '100%',
203
- height: '100%'
204
- });
205
- canvas.height = viewport.height;
206
- canvas.width = viewport.width;
207
- const canvasContext = canvas.getContext('2d');
208
- pageElement.appendChild(canvas);
196
+ const { canvasContext, viewport, pageElement, styles } = createCanvas(page, zoom, 'k-page');
209
197
  page.render({ canvasContext, viewport })
210
198
  .promise.then(() => {
211
199
  page.getTextContent().then((textContent) => {
@@ -347,3 +335,82 @@ export const currentPage = (rootElement) => {
347
335
  0.01)
348
336
  : 0;
349
337
  };
338
+ /**
339
+ * @hidden
340
+ *
341
+ * related to https://github.com/telerik/kendo-pdfviewer-common/issues/6
342
+ * the bigger the canvas size, the worse the performance;
343
+ * if initial size after scaling is greater than browser limits,
344
+ * we are limiting it to the limits, then halving it for performance.
345
+ */
346
+ const adjustCanvasSize = (targetWidth, targetHeight) => {
347
+ const { maxWidth, maxHeight, maxArea } = isFirefox(navigator.userAgent) ?
348
+ { maxWidth: MAX_CANVAS_WIDTH_HEIGHT_FIREFOX, maxHeight: MAX_CANVAS_WIDTH_HEIGHT_FIREFOX, maxArea: MAX_CANVAS_AREA_FIREFOX } :
349
+ isSafari(navigator.userAgent) ?
350
+ { maxWidth: MAX_CANVAS_WIDTH_SAFARI, maxHeight: MAX_CANVAS_HEIGHT_SAFARI, maxArea: MAX_CANVAS_AREA_CHROME_SAFARI } :
351
+ {
352
+ maxWidth: MAX_CANVAS_WIDTH_HEIGHT_CHROME,
353
+ maxHeight: MAX_CANVAS_WIDTH_HEIGHT_CHROME,
354
+ maxArea: MAX_CANVAS_AREA_CHROME_SAFARI
355
+ };
356
+ let adjustedWidth = targetWidth;
357
+ let adjustedHeight = targetHeight;
358
+ const ratio = targetWidth / targetHeight;
359
+ if (targetWidth > maxWidth) {
360
+ adjustedWidth = maxWidth;
361
+ const deltaWidth = targetWidth - maxWidth;
362
+ const deltaHeight = deltaWidth / ratio;
363
+ adjustedHeight = targetHeight - deltaHeight;
364
+ }
365
+ if (adjustedHeight > maxHeight) {
366
+ const deltaHeight = adjustedHeight - maxHeight;
367
+ const deltaWidth = deltaHeight * ratio;
368
+ adjustedHeight = maxHeight;
369
+ adjustedWidth -= deltaWidth;
370
+ }
371
+ const adjustedArea = adjustedWidth * adjustedHeight;
372
+ if (adjustedArea > maxArea) {
373
+ const areaRatio = Math.sqrt(maxArea / adjustedArea);
374
+ adjustedWidth *= areaRatio;
375
+ adjustedHeight *= areaRatio;
376
+ }
377
+ const adjustRatio = adjustedWidth / targetWidth;
378
+ return {
379
+ adjustedWidth: adjustedWidth !== targetWidth ? Math.floor(adjustedWidth / 2) : targetWidth,
380
+ adjustedHeight: adjustedHeight !== targetHeight ? Math.floor(adjustedHeight / 2) : targetHeight,
381
+ adjustRatio: adjustRatio !== 1 ? adjustRatio / 2 : 1
382
+ };
383
+ };
384
+ const createCanvas = (page, zoom = 1, cssClass = '') => {
385
+ const scaleNum = scale();
386
+ const viewport = page.getViewport({ scale: scaleNum });
387
+ const { adjustedWidth, adjustedHeight, adjustRatio } = adjustCanvasSize(viewport.width, viewport.height);
388
+ const styles = {
389
+ width: Math.floor(viewport.width / scaleNum) * zoom + 'pt',
390
+ height: Math.floor(viewport.height / scaleNum) * zoom + 'pt'
391
+ };
392
+ const pageElement = createElement('div', cssClass, styles);
393
+ const canvas = createElement('canvas', '', {
394
+ width: '100%',
395
+ height: '100%'
396
+ });
397
+ canvas.height = adjustedHeight;
398
+ canvas.width = adjustedWidth;
399
+ const canvasContext = canvas.getContext('2d');
400
+ pageElement.appendChild(canvas);
401
+ const adjustedScale = adjustRatio * scaleNum;
402
+ viewport.width = adjustedWidth;
403
+ viewport.height = adjustedHeight;
404
+ viewport.scale = adjustedScale;
405
+ viewport.transform[0] = adjustedScale;
406
+ viewport.transform[3] = -adjustedScale;
407
+ viewport.transform[5] = adjustedHeight;
408
+ return {
409
+ canvasContext,
410
+ viewport,
411
+ scaleNum,
412
+ canvas,
413
+ pageElement,
414
+ styles
415
+ };
416
+ };
package/dist/npm/utils.js CHANGED
@@ -1,10 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const kendo_file_saver_1 = require("@progress/kendo-file-saver");
4
+ const kendo_common_1 = require("@progress/kendo-common");
4
5
  const pdfjs_dist_1 = require("pdfjs-dist");
6
+ const MAX_CANVAS_WIDTH_HEIGHT_CHROME = 65535;
7
+ const MAX_CANVAS_AREA_CHROME_SAFARI = 268435456;
8
+ const MAX_CANVAS_WIDTH_HEIGHT_FIREFOX = 32767;
9
+ const MAX_CANVAS_AREA_FIREFOX = 124992400;
10
+ const MAX_CANVAS_WIDTH_SAFARI = 4194303;
11
+ const MAX_CANVAS_HEIGHT_SAFARI = 8388607;
5
12
  const isIOS = () => /iPad|iPhone|iPod/.test(navigator.userAgent) || (navigator.maxTouchPoints &&
6
13
  navigator.maxTouchPoints > 2 &&
7
14
  /Macintosh/i.test(navigator.userAgent));
15
+ const isSafari = (userAgent) => {
16
+ return kendo_common_1.detectDesktopBrowser(userAgent).safari ||
17
+ (kendo_common_1.detectMobileOS(userAgent) && kendo_common_1.detectMobileOS(userAgent).browser === 'mobilesafari');
18
+ };
19
+ const isFirefox = (userAgent) => {
20
+ const desktopBrowser = kendo_common_1.detectDesktopBrowser(userAgent);
21
+ const mobileOS = kendo_common_1.detectMobileOS(userAgent);
22
+ return (desktopBrowser && desktopBrowser.mozilla) || (mobileOS && mobileOS.browser === 'firefox');
23
+ };
8
24
  /**
9
25
  * @hidden
10
26
  */
@@ -154,21 +170,7 @@ const openPrintDialog = (dom, width, height, done, onError) => {
154
170
  }
155
171
  };
156
172
  const renderCanvas = (page, done, error) => {
157
- const scaleNum = scale();
158
- const viewport = page.getViewport({ scale: scaleNum });
159
- const styles = {
160
- width: Math.floor(viewport.width / scaleNum) + 'pt',
161
- height: Math.floor(viewport.height / scaleNum) + 'pt'
162
- };
163
- const pageElement = createElement('div', '', styles);
164
- const canvas = createElement('canvas', '', {
165
- width: '100%',
166
- height: '100%'
167
- });
168
- canvas.height = viewport.height;
169
- canvas.width = viewport.width;
170
- const canvasContext = canvas.getContext('2d');
171
- pageElement.appendChild(canvas);
173
+ const { canvasContext, viewport, scaleNum, canvas, pageElement } = createCanvas(page);
172
174
  page.render({ canvasContext, viewport })
173
175
  .promise.then(() => {
174
176
  const printContent = new Image(Math.floor((viewport.width / scaleNum)), Math.floor((viewport.height / scaleNum)));
@@ -193,21 +195,7 @@ const createElement = function (name, className, styles) {
193
195
  return element;
194
196
  };
195
197
  const renderPage = (page, zoom, error) => {
196
- const scaleNum = scale();
197
- const viewport = page.getViewport({ scale: scaleNum });
198
- const styles = {
199
- width: (Math.floor(viewport.width / scaleNum) * zoom) + 'pt',
200
- height: (Math.floor(viewport.height / scaleNum) * zoom) + 'pt'
201
- };
202
- const pageElement = createElement('div', 'k-page', styles);
203
- const canvas = createElement('canvas', '', {
204
- width: '100%',
205
- height: '100%'
206
- });
207
- canvas.height = viewport.height;
208
- canvas.width = viewport.width;
209
- const canvasContext = canvas.getContext('2d');
210
- pageElement.appendChild(canvas);
198
+ const { canvasContext, viewport, pageElement, styles } = createCanvas(page, zoom, 'k-page');
211
199
  page.render({ canvasContext, viewport })
212
200
  .promise.then(() => {
213
201
  page.getTextContent().then((textContent) => {
@@ -349,3 +337,82 @@ exports.currentPage = (rootElement) => {
349
337
  0.01)
350
338
  : 0;
351
339
  };
340
+ /**
341
+ * @hidden
342
+ *
343
+ * related to https://github.com/telerik/kendo-pdfviewer-common/issues/6
344
+ * the bigger the canvas size, the worse the performance;
345
+ * if initial size after scaling is greater than browser limits,
346
+ * we are limiting it to the limits, then halving it for performance.
347
+ */
348
+ const adjustCanvasSize = (targetWidth, targetHeight) => {
349
+ const { maxWidth, maxHeight, maxArea } = isFirefox(navigator.userAgent) ?
350
+ { maxWidth: MAX_CANVAS_WIDTH_HEIGHT_FIREFOX, maxHeight: MAX_CANVAS_WIDTH_HEIGHT_FIREFOX, maxArea: MAX_CANVAS_AREA_FIREFOX } :
351
+ isSafari(navigator.userAgent) ?
352
+ { maxWidth: MAX_CANVAS_WIDTH_SAFARI, maxHeight: MAX_CANVAS_HEIGHT_SAFARI, maxArea: MAX_CANVAS_AREA_CHROME_SAFARI } :
353
+ {
354
+ maxWidth: MAX_CANVAS_WIDTH_HEIGHT_CHROME,
355
+ maxHeight: MAX_CANVAS_WIDTH_HEIGHT_CHROME,
356
+ maxArea: MAX_CANVAS_AREA_CHROME_SAFARI
357
+ };
358
+ let adjustedWidth = targetWidth;
359
+ let adjustedHeight = targetHeight;
360
+ const ratio = targetWidth / targetHeight;
361
+ if (targetWidth > maxWidth) {
362
+ adjustedWidth = maxWidth;
363
+ const deltaWidth = targetWidth - maxWidth;
364
+ const deltaHeight = deltaWidth / ratio;
365
+ adjustedHeight = targetHeight - deltaHeight;
366
+ }
367
+ if (adjustedHeight > maxHeight) {
368
+ const deltaHeight = adjustedHeight - maxHeight;
369
+ const deltaWidth = deltaHeight * ratio;
370
+ adjustedHeight = maxHeight;
371
+ adjustedWidth -= deltaWidth;
372
+ }
373
+ const adjustedArea = adjustedWidth * adjustedHeight;
374
+ if (adjustedArea > maxArea) {
375
+ const areaRatio = Math.sqrt(maxArea / adjustedArea);
376
+ adjustedWidth *= areaRatio;
377
+ adjustedHeight *= areaRatio;
378
+ }
379
+ const adjustRatio = adjustedWidth / targetWidth;
380
+ return {
381
+ adjustedWidth: adjustedWidth !== targetWidth ? Math.floor(adjustedWidth / 2) : targetWidth,
382
+ adjustedHeight: adjustedHeight !== targetHeight ? Math.floor(adjustedHeight / 2) : targetHeight,
383
+ adjustRatio: adjustRatio !== 1 ? adjustRatio / 2 : 1
384
+ };
385
+ };
386
+ const createCanvas = (page, zoom = 1, cssClass = '') => {
387
+ const scaleNum = scale();
388
+ const viewport = page.getViewport({ scale: scaleNum });
389
+ const { adjustedWidth, adjustedHeight, adjustRatio } = adjustCanvasSize(viewport.width, viewport.height);
390
+ const styles = {
391
+ width: Math.floor(viewport.width / scaleNum) * zoom + 'pt',
392
+ height: Math.floor(viewport.height / scaleNum) * zoom + 'pt'
393
+ };
394
+ const pageElement = createElement('div', cssClass, styles);
395
+ const canvas = createElement('canvas', '', {
396
+ width: '100%',
397
+ height: '100%'
398
+ });
399
+ canvas.height = adjustedHeight;
400
+ canvas.width = adjustedWidth;
401
+ const canvasContext = canvas.getContext('2d');
402
+ pageElement.appendChild(canvas);
403
+ const adjustedScale = adjustRatio * scaleNum;
404
+ viewport.width = adjustedWidth;
405
+ viewport.height = adjustedHeight;
406
+ viewport.scale = adjustedScale;
407
+ viewport.transform[0] = adjustedScale;
408
+ viewport.transform[3] = -adjustedScale;
409
+ viewport.transform[5] = adjustedHeight;
410
+ return {
411
+ canvasContext,
412
+ viewport,
413
+ scaleNum,
414
+ canvas,
415
+ pageElement,
416
+ styles
417
+ };
418
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@progress/kendo-pdfviewer-common",
3
3
  "description": "Kendo UI TypeScript package exporting functions for PDFViewer component",
4
- "version": "0.2.3-dev.202310040707",
4
+ "version": "0.2.3-dev.202310060852",
5
5
  "keywords": [
6
6
  "Kendo UI"
7
7
  ],
@@ -28,6 +28,7 @@
28
28
  "@progress/kendo-file-saver": "^1.1.1"
29
29
  },
30
30
  "dependencies": {
31
+ "@progress/kendo-common": "^0.2.2",
31
32
  "pdfjs-dist": "3.11.174",
32
33
  "tslib": "^2.4.1"
33
34
  },