@pdfme/schemas 5.2.16-dev.2 → 5.3.0-beta.0
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/cjs/src/graphics/pdfHelper.js +8 -27
- package/dist/cjs/src/graphics/pdfHelper.js.map +1 -1
- package/dist/esm/src/graphics/pdfHelper.js +8 -27
- package/dist/esm/src/graphics/pdfHelper.js.map +1 -1
- package/dist/types/src/graphics/pdfHelper.d.ts +1 -1
- package/package.json +2 -1
- package/src/graphics/pdfHelper.ts +7 -30
@@ -1,6 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.pdfToImage = exports.isPdf = void 0;
|
4
|
+
const common_1 = require("@pdfme/common");
|
5
|
+
const converter_1 = require("@pdfme/converter");
|
4
6
|
const cacheKey_1 = require("./cacheKey");
|
5
7
|
function isPdf(content) {
|
6
8
|
return content.startsWith('data:application/pdf;');
|
@@ -10,40 +12,19 @@ exports.isPdf = isPdf;
|
|
10
12
|
* convert pdf to blob image url
|
11
13
|
* @param content
|
12
14
|
*/
|
13
|
-
const pdfToImage = async ({ schema, value, _cache,
|
15
|
+
const pdfToImage = async ({ schema, value, _cache, }) => {
|
14
16
|
// using value from cache to prevent rerending pdf to image
|
15
17
|
const pdfImageCacheKey = (0, cacheKey_1.getCacheKey)(schema, value);
|
16
18
|
const imageSrc = _cache.get(pdfImageCacheKey);
|
17
19
|
if (imageSrc)
|
18
20
|
return imageSrc;
|
19
|
-
const
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
canvas.height = viewport.height;
|
25
|
-
const canvasContext = canvas.getContext('2d');
|
26
|
-
await page.render({ canvasContext, viewport }).promise;
|
27
|
-
const image = await _canvasToObjectUrl(canvas);
|
21
|
+
const images = await (0, converter_1.pdf2img)((0, common_1.b64toUint8Array)(value), {
|
22
|
+
imageType: 'png',
|
23
|
+
range: { end: 1 },
|
24
|
+
});
|
25
|
+
const image = URL.createObjectURL(new Blob([images[0]], { type: 'image/png' }));
|
28
26
|
_cache.set(pdfImageCacheKey, image);
|
29
27
|
return image;
|
30
28
|
};
|
31
29
|
exports.pdfToImage = pdfToImage;
|
32
|
-
/**
|
33
|
-
* convert canvas to blob url
|
34
|
-
* @param canvas
|
35
|
-
*/
|
36
|
-
const _canvasToObjectUrl = async (canvas) => {
|
37
|
-
return new Promise((resolve, reject) => {
|
38
|
-
canvas.toBlob(function (blob) {
|
39
|
-
if (!blob) {
|
40
|
-
reject('inavlid canvas');
|
41
|
-
}
|
42
|
-
else {
|
43
|
-
const url = URL.createObjectURL(blob);
|
44
|
-
resolve(url);
|
45
|
-
}
|
46
|
-
});
|
47
|
-
});
|
48
|
-
};
|
49
30
|
//# sourceMappingURL=pdfHelper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pdfHelper.js","sourceRoot":"","sources":["../../../../src/graphics/pdfHelper.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"pdfHelper.js","sourceRoot":"","sources":["../../../../src/graphics/pdfHelper.ts"],"names":[],"mappings":";;;AAAA,0CAA+D;AAC/D,gDAA2C;AAC3C,yCAAyC;AAGzC,SAAgB,KAAK,CAAC,OAAe;IACnC,OAAO,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACrD,CAAC;AAFD,sBAEC;AAED;;;GAGG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,EAC/B,MAAM,EACN,KAAK,EACL,MAAM,GACqB,EAAmB,EAAE;IAChD,2DAA2D;IAC3D,MAAM,gBAAgB,GAAG,IAAA,sBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAO,EAAC,IAAA,wBAAe,EAAC,KAAK,CAAC,EAAE;QACnD,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;KAClB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAEhF,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB"}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
import { b64toUint8Array } from '@pdfme/common';
|
2
|
+
import { pdf2img } from '@pdfme/converter';
|
1
3
|
import { getCacheKey } from './cacheKey';
|
2
4
|
export function isPdf(content) {
|
3
5
|
return content.startsWith('data:application/pdf;');
|
@@ -6,39 +8,18 @@ export function isPdf(content) {
|
|
6
8
|
* convert pdf to blob image url
|
7
9
|
* @param content
|
8
10
|
*/
|
9
|
-
export const pdfToImage = async ({ schema, value, _cache,
|
11
|
+
export const pdfToImage = async ({ schema, value, _cache, }) => {
|
10
12
|
// using value from cache to prevent rerending pdf to image
|
11
13
|
const pdfImageCacheKey = getCacheKey(schema, value);
|
12
14
|
const imageSrc = _cache.get(pdfImageCacheKey);
|
13
15
|
if (imageSrc)
|
14
16
|
return imageSrc;
|
15
|
-
const
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
canvas.height = viewport.height;
|
21
|
-
const canvasContext = canvas.getContext('2d');
|
22
|
-
await page.render({ canvasContext, viewport }).promise;
|
23
|
-
const image = await _canvasToObjectUrl(canvas);
|
17
|
+
const images = await pdf2img(b64toUint8Array(value), {
|
18
|
+
imageType: 'png',
|
19
|
+
range: { end: 1 },
|
20
|
+
});
|
21
|
+
const image = URL.createObjectURL(new Blob([images[0]], { type: 'image/png' }));
|
24
22
|
_cache.set(pdfImageCacheKey, image);
|
25
23
|
return image;
|
26
24
|
};
|
27
|
-
/**
|
28
|
-
* convert canvas to blob url
|
29
|
-
* @param canvas
|
30
|
-
*/
|
31
|
-
const _canvasToObjectUrl = async (canvas) => {
|
32
|
-
return new Promise((resolve, reject) => {
|
33
|
-
canvas.toBlob(function (blob) {
|
34
|
-
if (!blob) {
|
35
|
-
reject('inavlid canvas');
|
36
|
-
}
|
37
|
-
else {
|
38
|
-
const url = URL.createObjectURL(blob);
|
39
|
-
resolve(url);
|
40
|
-
}
|
41
|
-
});
|
42
|
-
});
|
43
|
-
};
|
44
25
|
//# sourceMappingURL=pdfHelper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pdfHelper.js","sourceRoot":"","sources":["../../../../src/graphics/pdfHelper.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"pdfHelper.js","sourceRoot":"","sources":["../../../../src/graphics/pdfHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,eAAe,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,MAAM,UAAU,KAAK,CAAC,OAAe;IACnC,OAAO,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,EAC/B,MAAM,EACN,KAAK,EACL,MAAM,GACqB,EAAmB,EAAE;IAChD,2DAA2D;IAC3D,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;QACnD,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;KAClB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAEhF,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
@@ -5,4 +5,4 @@ export declare function isPdf(content: string): boolean;
|
|
5
5
|
* convert pdf to blob image url
|
6
6
|
* @param content
|
7
7
|
*/
|
8
|
-
export declare const pdfToImage: ({ schema, value, _cache,
|
8
|
+
export declare const pdfToImage: ({ schema, value, _cache, }: UIRenderProps<ImageSchema>) => Promise<string>;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@pdfme/schemas",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.3.0-beta.0",
|
4
4
|
"sideEffects": false,
|
5
5
|
"author": "hand-dot",
|
6
6
|
"license": "MIT",
|
@@ -48,6 +48,7 @@
|
|
48
48
|
"prettier": "prettier --write 'src/**/*.ts'"
|
49
49
|
},
|
50
50
|
"dependencies": {
|
51
|
+
"@pdfme/converter": "file:../converter",
|
51
52
|
"@pdfme/pdf-lib": "^1.18.3",
|
52
53
|
"air-datepicker": "^3.5.3",
|
53
54
|
"bwip-js": "^4.1.1",
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import {
|
1
|
+
import { UIRenderProps, b64toUint8Array } from '@pdfme/common';
|
2
|
+
import { pdf2img } from '@pdfme/converter';
|
2
3
|
import { getCacheKey } from './cacheKey';
|
3
4
|
import { ImageSchema } from './image';
|
4
5
|
|
@@ -14,42 +15,18 @@ export const pdfToImage = async ({
|
|
14
15
|
schema,
|
15
16
|
value,
|
16
17
|
_cache,
|
17
|
-
pdfJs,
|
18
18
|
}: UIRenderProps<ImageSchema>): Promise<string> => {
|
19
19
|
// using value from cache to prevent rerending pdf to image
|
20
20
|
const pdfImageCacheKey = getCacheKey(schema, value);
|
21
21
|
const imageSrc = _cache.get(pdfImageCacheKey);
|
22
22
|
if (imageSrc) return imageSrc;
|
23
23
|
|
24
|
-
const
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
const
|
29
|
-
canvas.width = viewport.width;
|
30
|
-
canvas.height = viewport.height;
|
31
|
-
const canvasContext = canvas.getContext('2d')!;
|
32
|
-
|
33
|
-
await page.render({ canvasContext, viewport }).promise;
|
34
|
-
const image = await _canvasToObjectUrl(canvas);
|
24
|
+
const images = await pdf2img(b64toUint8Array(value), {
|
25
|
+
imageType: 'png',
|
26
|
+
range: { end: 1 },
|
27
|
+
});
|
28
|
+
const image = URL.createObjectURL(new Blob([images[0]], { type: 'image/png' }));
|
35
29
|
|
36
30
|
_cache.set(pdfImageCacheKey, image);
|
37
31
|
return image;
|
38
32
|
};
|
39
|
-
|
40
|
-
/**
|
41
|
-
* convert canvas to blob url
|
42
|
-
* @param canvas
|
43
|
-
*/
|
44
|
-
const _canvasToObjectUrl = async (canvas: HTMLCanvasElement): Promise<string> => {
|
45
|
-
return new Promise((resolve, reject) => {
|
46
|
-
canvas.toBlob(function (blob) {
|
47
|
-
if (!blob) {
|
48
|
-
reject('inavlid canvas');
|
49
|
-
} else {
|
50
|
-
const url = URL.createObjectURL(blob);
|
51
|
-
resolve(url);
|
52
|
-
}
|
53
|
-
});
|
54
|
-
});
|
55
|
-
};
|