@pdfme/schemas 2.2.1 → 3.0.0-dev.1
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/__tests__/renderUtils.test.js +96 -0
- package/dist/cjs/__tests__/renderUtils.test.js.map +1 -0
- package/dist/cjs/src/barcodes/pdfRender.js +3 -9
- package/dist/cjs/src/barcodes/pdfRender.js.map +1 -1
- package/dist/cjs/src/barcodes/propPanel.js +12 -12
- package/dist/cjs/src/barcodes/propPanel.js.map +1 -1
- package/dist/cjs/src/barcodes/uiRender.js +9 -7
- package/dist/cjs/src/barcodes/uiRender.js.map +1 -1
- package/dist/cjs/src/image/pdfRender.js +3 -9
- package/dist/cjs/src/image/pdfRender.js.map +1 -1
- package/dist/cjs/src/image/propPanel.js +10 -2
- package/dist/cjs/src/image/propPanel.js.map +1 -1
- package/dist/cjs/src/image/uiRender.js +7 -7
- package/dist/cjs/src/image/uiRender.js.map +1 -1
- package/dist/cjs/src/index.js +8 -3
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/renderUtils.js +39 -55
- package/dist/cjs/src/renderUtils.js.map +1 -1
- package/dist/cjs/src/text/pdfRender.js +45 -5
- package/dist/cjs/src/text/pdfRender.js.map +1 -1
- package/dist/cjs/src/text/propPanel.js +13 -10
- package/dist/cjs/src/text/propPanel.js.map +1 -1
- package/dist/cjs/src/text/uiRender.js +17 -15
- package/dist/cjs/src/text/uiRender.js.map +1 -1
- package/dist/esm/__tests__/renderUtils.test.js +94 -0
- package/dist/esm/__tests__/renderUtils.test.js.map +1 -0
- package/dist/esm/src/barcodes/pdfRender.js +4 -10
- package/dist/esm/src/barcodes/pdfRender.js.map +1 -1
- package/dist/esm/src/barcodes/propPanel.js +12 -12
- package/dist/esm/src/barcodes/propPanel.js.map +1 -1
- package/dist/esm/src/barcodes/uiRender.js +9 -7
- package/dist/esm/src/barcodes/uiRender.js.map +1 -1
- package/dist/esm/src/image/pdfRender.js +4 -10
- package/dist/esm/src/image/pdfRender.js.map +1 -1
- package/dist/esm/src/image/propPanel.js +10 -2
- package/dist/esm/src/image/propPanel.js.map +1 -1
- package/dist/esm/src/image/uiRender.js +7 -7
- package/dist/esm/src/image/uiRender.js.map +1 -1
- package/dist/esm/src/index.js +6 -6
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/renderUtils.js +37 -50
- package/dist/esm/src/renderUtils.js.map +1 -1
- package/dist/esm/src/text/pdfRender.js +46 -6
- package/dist/esm/src/text/pdfRender.js.map +1 -1
- package/dist/esm/src/text/propPanel.js +13 -10
- package/dist/esm/src/text/propPanel.js.map +1 -1
- package/dist/esm/src/text/uiRender.js +17 -15
- package/dist/esm/src/text/uiRender.js.map +1 -1
- package/dist/types/__tests__/renderUtils.test.d.ts +1 -0
- package/dist/types/src/index.d.ts +8 -3
- package/dist/types/src/renderUtils.d.ts +18 -9
- package/package.json +2 -2
- package/src/barcodes/pdfRender.ts +10 -10
- package/src/barcodes/propPanel.ts +26 -4
- package/src/barcodes/uiRender.ts +10 -7
- package/src/image/pdfRender.ts +11 -10
- package/src/image/propPanel.ts +10 -2
- package/src/image/uiRender.ts +8 -8
- package/src/index.ts +7 -6
- package/src/renderUtils.ts +51 -61
- package/src/text/pdfRender.ts +60 -15
- package/src/text/propPanel.ts +13 -10
- package/src/text/uiRender.ts +19 -12
@@ -1,6 +1,14 @@
|
|
1
1
|
export const propPanel = {
|
2
|
-
|
2
|
+
schema: {},
|
3
3
|
defaultValue: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAALuAQMAAADL0wGJAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAGUExURbzAw+rv8fKruy0AAAPoSURBVHja7dwxbtwwEEBRCkKwRQodYftcYk+ROkcJz5NTsEuZK/AIKlIQAUEnke0VqQ0pA5zxWvFnZcD2s0CNuENxPOZBc0QDDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PD/+P8bkxvnTzzjTG0M2b5rh08rHNT518aPOnTt63+aGTd23edPJ2h//ax+/oO6Gzx6c78+cuPu7x01vmwx5/6uLnO/PjO+b/rGifvtWH3VnT9vmh/e3eqx/bc9d79af2YwEPDw8P/6r8r1GVt5VcUoZPtXxGhp9rGYEM72vbEBne1hJ5Gb6ayIvwqZppi/CxmgqL8KGaTIrwc3WDfATeV/ffIryr7r+PwNvq/vsIfH17D5/qbw/gb/mLKp/OqnycFPj14yqcJPm4vfp5VJ0cP6jyzqjy9rr2q/Dr4qzBp3V5E1wxp/V3rl8LXn32qF6fAY31Psv2NXi/5lQaH+Vuzak0eLsmPRppVPa3FPiU3QiFFDZmD4FCAh6yxV+Bn7O9isLmx2d/TGHr5rI7obDxtFkcKWyb89M2+U1/sX7Kv7Io8gaxFy5l2D/faRk++3x6PgsalV52+fwUW4j/+eGhDPuneyH/otHmp9jyfHHMLM6n4phZnI/FObA4H4qDWnF+Lo46xXlflG+I864o3xDnbVG+Ic6X9RXSfCrrK6T5WBZASPOhrFCQ5ufyjF+a92XdkjTvyrolad6WdUvS/KawSI7/sQn7JfDl+O+bsF8CX44fN2FvHnNnIT4Nm7BfAl+ON5uwXwJfjA/LCuk2BXvCvN0U7InxflmAtxV1gvx0U2N3luPtdZOlwj/FoR5vbuq85Pi48F6LD0scOk3+sq1cleP9ohlNfkpq/N9pGaMuH7T4ZVqGWYt/nBavyxstftblfaVIWJU/y72yODCfzJH5oMvPh+adLm+PzCdzZD5U/61ClT9Lnvyo8e7QvFHlE3ydj0zOu5ucickhcpgcJofJedUVk8j5b/nGgIeHh4d/I3x/RwLlhgfNH3DavSwGXf7YjT76uqCEQ/P37p9z7uKVmwspd17S7hul3PXK6fbsmnvWhO6GZlMnn3ri8gXN5GzHnX0B35ydj91814CHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHl+d/A9cKjmiL040TAAAAAElFTkSuQmCC',
|
4
|
-
defaultSchema: {
|
4
|
+
defaultSchema: {
|
5
|
+
type: 'image',
|
6
|
+
position: { x: 0, y: 0 },
|
7
|
+
width: 40,
|
8
|
+
height: 40,
|
9
|
+
// If the value of "rotate" is set to undefined or not set at all, rotation will be disabled in the UI.
|
10
|
+
// Check this document: https://pdfme.com//docs/custom-schemas#learning-how-to-create-from-pdfmeschemas-code
|
11
|
+
rotate: 0,
|
12
|
+
},
|
5
13
|
};
|
6
14
|
//# sourceMappingURL=propPanel.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/image/propPanel.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAA2B;IAC/C,
|
1
|
+
{"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/image/propPanel.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAA2B;IAC/C,MAAM,EAAE,EAAE;IACV,YAAY,EACV,w9CAAw9C;IAC19C,aAAa,EAAE;QACb,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACxB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,uGAAuG;QACvG,4GAA4G;QAC5G,MAAM,EAAE,CAAC;KACV;CACF,CAAC"}
|
@@ -18,7 +18,7 @@ const readFile = (input) => new Promise((resolve, reject) => {
|
|
18
18
|
}
|
19
19
|
};
|
20
20
|
fileReader.onerror = (e) => {
|
21
|
-
reject(new Error('File reading failed'));
|
21
|
+
reject(new Error('[@pdfme/schemas] File reading failed'));
|
22
22
|
};
|
23
23
|
let file = null;
|
24
24
|
if (input instanceof FileList && input.length > 0) {
|
@@ -31,18 +31,18 @@ const readFile = (input) => new Promise((resolve, reject) => {
|
|
31
31
|
fileReader.readAsDataURL(file);
|
32
32
|
}
|
33
33
|
else {
|
34
|
-
reject(new Error('No files provided'));
|
34
|
+
reject(new Error('[@pdfme/schemas] No files provided'));
|
35
35
|
}
|
36
36
|
});
|
37
37
|
export const uiRender = (arg) => __awaiter(void 0, void 0, void 0, function* () {
|
38
38
|
const { value, rootElement, mode, onChange, stopEditing, tabIndex, placeholder, schema } = arg;
|
39
|
-
const
|
39
|
+
const editable = mode === 'form' || mode === 'designer';
|
40
40
|
const size = { width: schema.width * ZOOM, height: schema.height * ZOOM };
|
41
41
|
const container = document.createElement('div');
|
42
42
|
const containerStyle = Object.assign(Object.assign({}, fullSize), { backgroundImage: value ? 'none' : `url(${placeholder})`, backgroundSize: `${size.width}px ${size.height}px` });
|
43
43
|
Object.assign(container.style, containerStyle);
|
44
44
|
container.addEventListener('click', (e) => {
|
45
|
-
if (
|
45
|
+
if (editable) {
|
46
46
|
e.stopPropagation();
|
47
47
|
}
|
48
48
|
});
|
@@ -56,7 +56,7 @@ export const uiRender = (arg) => __awaiter(void 0, void 0, void 0, function* ()
|
|
56
56
|
container.appendChild(img);
|
57
57
|
}
|
58
58
|
// remove button
|
59
|
-
if (value &&
|
59
|
+
if (value && editable) {
|
60
60
|
const button = document.createElement('button');
|
61
61
|
button.textContent = 'x';
|
62
62
|
const buttonStyle = {
|
@@ -82,9 +82,9 @@ export const uiRender = (arg) => __awaiter(void 0, void 0, void 0, function* ()
|
|
82
82
|
container.appendChild(button);
|
83
83
|
}
|
84
84
|
// file input
|
85
|
-
if (!value &&
|
85
|
+
if (!value && editable) {
|
86
86
|
const label = document.createElement('label');
|
87
|
-
const labelStyle = Object.assign(Object.assign({}, fullSize), { display:
|
87
|
+
const labelStyle = Object.assign(Object.assign({}, fullSize), { display: editable ? 'flex' : 'none', position: 'absolute', top: 0, backgroundColor: editable || value ? 'rgb(242 244 255 / 50%)' : 'none', cursor: 'pointer' });
|
88
88
|
Object.assign(label.style, labelStyle);
|
89
89
|
container.appendChild(label);
|
90
90
|
const input = document.createElement('input');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/image/uiRender.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAiB,IAAI,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAEnD,MAAM,QAAQ,GAAG,CAAC,KAA6B,EAAiC,EAAE,CAChF,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAEpC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;;QACxB,IAAI,MAAA,CAAC,CAAC,MAAM,0CAAE,MAAM,EAAE;YACpB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC;IAEF,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QACzB,MAAM,CAAC,IAAI,KAAK,CAAC,
|
1
|
+
{"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/image/uiRender.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import
|
4
|
-
|
5
|
-
|
6
|
-
export
|
1
|
+
import text from './text';
|
2
|
+
import image from './image';
|
3
|
+
import barcodes from './barcodes';
|
4
|
+
import { convertForPdfLayoutProps, rotatePoint } from './renderUtils';
|
5
|
+
const builtInPlugins = { Text: text };
|
6
|
+
export { text, image, barcodes, builtInPlugins, convertForPdfLayoutProps, rotatePoint };
|
7
7
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,wBAAwB,EAAE,WAAW,EAAE,CAAC"}
|
@@ -1,56 +1,43 @@
|
|
1
|
-
import { degrees,
|
1
|
+
import { degrees, degreesToRadians } from '@pdfme/pdf-lib';
|
2
2
|
import { mm2pt } from '@pdfme/common';
|
3
|
-
const
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
const
|
19
|
-
|
20
|
-
|
21
|
-
// eslint-disable-next-line no-undefined
|
22
|
-
return undefined;
|
23
|
-
};
|
24
|
-
export const calcX = (x, alignment, boxWidth, textWidth) => {
|
25
|
-
let addition = 0;
|
26
|
-
if (alignment === 'center') {
|
27
|
-
addition = (boxWidth - textWidth) / 2;
|
3
|
+
export const convertForPdfLayoutProps = ({ schema, pageHeight, applyRotateTranslate = true, }) => {
|
4
|
+
const { width: mmWidth, height: mmHeight, position, rotate } = schema;
|
5
|
+
const { x: mmX, y: mmY } = position;
|
6
|
+
const rotateDegrees = rotate ? -rotate : 0;
|
7
|
+
const width = mm2pt(mmWidth);
|
8
|
+
const height = mm2pt(mmHeight);
|
9
|
+
let x = mm2pt(mmX);
|
10
|
+
// PDF coordinate system is from bottom left, UI is top left, so we need to flip the y axis
|
11
|
+
let y = pageHeight - mm2pt(mmY) - height;
|
12
|
+
if (rotateDegrees && applyRotateTranslate) {
|
13
|
+
// If rotating we must pivot around the same point as the UI performs its rotation.
|
14
|
+
// The UI performs rotation around the objects center point (the pivot point below),
|
15
|
+
// pdflib rotates around the bottom left corner of the object.
|
16
|
+
// We must therefore adjust the X and Y by rotating the bottom left corner by this pivot point.
|
17
|
+
const pivotPoint = { x: x + width / 2, y: pageHeight - mm2pt(mmY) - height / 2 };
|
18
|
+
const rotatedPoint = rotatePoint({ x, y }, pivotPoint, rotateDegrees);
|
19
|
+
x = rotatedPoint.x;
|
20
|
+
y = rotatedPoint.y;
|
28
21
|
}
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
}
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
return;
|
39
|
-
const { width, height } = convertSchemaDimensionsToPt(schema);
|
40
|
-
const color = hex2RgbColor(schema.backgroundColor);
|
41
|
-
page.drawRectangle({
|
42
|
-
x: calcX(schema.position.x, 'left', width, width),
|
43
|
-
y: calcY(schema.position.y, pageHeight, height),
|
44
|
-
width,
|
45
|
-
height,
|
46
|
-
color,
|
47
|
-
});
|
22
|
+
return {
|
23
|
+
position: {
|
24
|
+
x: x,
|
25
|
+
y: y,
|
26
|
+
},
|
27
|
+
height: height,
|
28
|
+
width: width,
|
29
|
+
rotate: degrees(rotateDegrees),
|
30
|
+
};
|
48
31
|
};
|
49
|
-
export const
|
50
|
-
const
|
51
|
-
const
|
52
|
-
|
53
|
-
|
32
|
+
export const rotatePoint = (point, pivot, angleDegrees) => {
|
33
|
+
const angleRadians = degreesToRadians(angleDegrees);
|
34
|
+
const x = Math.cos(angleRadians) * (point.x - pivot.x) -
|
35
|
+
Math.sin(angleRadians) * (point.y - pivot.y) +
|
36
|
+
pivot.x;
|
37
|
+
const y = Math.sin(angleRadians) * (point.x - pivot.x) +
|
38
|
+
Math.cos(angleRadians) * (point.y - pivot.y) +
|
39
|
+
pivot.y;
|
40
|
+
return { x, y };
|
54
41
|
};
|
55
42
|
export const getCacheKey = (schema, input) => `${schema.type}${input}`;
|
56
43
|
//# sourceMappingURL=renderUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"renderUtils.js","sourceRoot":"","sources":["../../../src/renderUtils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"renderUtils.js","sourceRoot":"","sources":["../../../src/renderUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAU,KAAK,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,MAAM,EACN,UAAU,EACV,oBAAoB,GAAG,IAAI,GAK5B,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACtE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;IAEpC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,2FAA2F;IAC3F,IAAI,CAAC,GAAG,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IAEzC,IAAI,aAAa,IAAI,oBAAoB,EAAE;QACzC,mFAAmF;QACnF,oFAAoF;QACpF,8DAA8D;QAC9D,+FAA+F;QAC/F,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;QACjF,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACtE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QACnB,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;KACpB;IAED,OAAO;QACL,QAAQ,EAAE;YACR,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL;QACD,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC;KAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAA+B,EAC/B,KAA+B,EAC/B,YAAoB,EACM,EAAE;IAC5B,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,CAAC,GACL,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,CAAC,CAAC;IACV,MAAM,CAAC,GACL,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,CAAC,CAAC;IAEV,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC"}
|
@@ -7,10 +7,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
8
|
});
|
9
9
|
};
|
10
|
-
import {
|
10
|
+
import { rgb } from '@pdfme/pdf-lib';
|
11
|
+
import { getDefaultFont, getFallbackFontName, mm2pt } from '@pdfme/common';
|
11
12
|
import { VERTICAL_ALIGN_TOP, VERTICAL_ALIGN_MIDDLE, VERTICAL_ALIGN_BOTTOM, DEFAULT_FONT_SIZE, DEFAULT_ALIGNMENT, DEFAULT_VERTICAL_ALIGNMENT, DEFAULT_LINE_HEIGHT, DEFAULT_CHARACTER_SPACING, DEFAULT_FONT_COLOR, } from './constants';
|
12
13
|
import { calculateDynamicFontSize, heightOfFontAtSize, getFontDescentInPt, getFontKitFont, getSplittedLines, widthOfTextAtSize, } from './helper';
|
13
|
-
import {
|
14
|
+
import { convertForPdfLayoutProps, rotatePoint } from '../renderUtils';
|
15
|
+
const hex2rgb = (hex) => {
|
16
|
+
if (hex.slice(0, 1) === '#')
|
17
|
+
hex = hex.slice(1);
|
18
|
+
if (hex.length === 3)
|
19
|
+
hex =
|
20
|
+
hex.slice(0, 1) +
|
21
|
+
hex.slice(0, 1) +
|
22
|
+
hex.slice(1, 2) +
|
23
|
+
hex.slice(1, 2) +
|
24
|
+
hex.slice(2, 3) +
|
25
|
+
hex.slice(2, 3);
|
26
|
+
return [hex.slice(0, 2), hex.slice(2, 4), hex.slice(4, 6)].map((str) => parseInt(str, 16));
|
27
|
+
};
|
28
|
+
const hex2RgbColor = (hexString) => {
|
29
|
+
if (hexString) {
|
30
|
+
const [r, g, b] = hex2rgb(hexString);
|
31
|
+
return rgb(r / 255, g / 255, b / 255);
|
32
|
+
}
|
33
|
+
return undefined;
|
34
|
+
};
|
14
35
|
const embedAndGetFontObjCache = new WeakMap();
|
15
36
|
const embedAndGetFontObj = (arg) => __awaiter(void 0, void 0, void 0, function* () {
|
16
37
|
const { pdfDoc, font } = arg;
|
@@ -57,8 +78,11 @@ export const pdfRender = (arg) => __awaiter(void 0, void 0, void 0, function* ()
|
|
57
78
|
const fontName = (schema.fontName ? schema.fontName : getFallbackFontName(font));
|
58
79
|
const pdfFontValue = pdfFontObj[fontName];
|
59
80
|
const pageHeight = page.getHeight();
|
60
|
-
|
61
|
-
|
81
|
+
const { width, height, rotate, position: { x, y }, } = convertForPdfLayoutProps({ schema, pageHeight, applyRotateTranslate: false });
|
82
|
+
if (schema.backgroundColor) {
|
83
|
+
const color = hex2RgbColor(schema.backgroundColor);
|
84
|
+
page.drawRectangle({ x, y, width, height, rotate, color });
|
85
|
+
}
|
62
86
|
page.pushOperators(pdfLib.setCharacterSpacing(characterSpacing !== null && characterSpacing !== void 0 ? characterSpacing : DEFAULT_CHARACTER_SPACING));
|
63
87
|
const firstLineTextHeight = heightOfFontAtSize(fontKitFont, fontSize);
|
64
88
|
const descent = getFontDescentInPt(fontKitFont, fontSize);
|
@@ -88,12 +112,28 @@ export const pdfRender = (arg) => __awaiter(void 0, void 0, void 0, function* ()
|
|
88
112
|
(height - otherLinesHeight - firstLineTextHeight + descent) / 2 + firstLineTextHeight;
|
89
113
|
}
|
90
114
|
}
|
115
|
+
const pivotPoint = { x: x + width / 2, y: pageHeight - mm2pt(schema.position.y) - height / 2 };
|
91
116
|
lines.forEach((line, rowIndex) => {
|
92
117
|
const textWidth = widthOfTextAtSize(line, fontKitFont, fontSize, characterSpacing);
|
93
118
|
const rowYOffset = lineHeight * fontSize * rowIndex;
|
119
|
+
let xLine = x;
|
120
|
+
if (alignment === 'center') {
|
121
|
+
xLine += (width - textWidth) / 2;
|
122
|
+
}
|
123
|
+
else if (alignment === 'right') {
|
124
|
+
xLine += width - textWidth;
|
125
|
+
}
|
126
|
+
let yLine = pageHeight - mm2pt(schema.position.y) - yOffset - rowYOffset;
|
127
|
+
if (rotate.angle !== 0) {
|
128
|
+
// As we draw each line individually from different points, we must translate each lines position
|
129
|
+
// relative to the UI rotation pivot point. see comments in convertForPdfLayoutProps() for more info.
|
130
|
+
const rotatedPoint = rotatePoint({ x: xLine, y: yLine }, pivotPoint, rotate.angle);
|
131
|
+
xLine = rotatedPoint.x;
|
132
|
+
yLine = rotatedPoint.y;
|
133
|
+
}
|
94
134
|
page.drawText(line, {
|
95
|
-
x:
|
96
|
-
y:
|
135
|
+
x: xLine,
|
136
|
+
y: yLine,
|
97
137
|
rotate,
|
98
138
|
size: fontSize,
|
99
139
|
color,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pdfRender.js","sourceRoot":"","sources":["../../../../src/text/pdfRender.ts"],"names":[],"mappings":";;;;;;;;;
|
1
|
+
{"version":3,"file":"pdfRender.js","sourceRoot":"","sources":["../../../../src/text/pdfRender.ts"],"names":[],"mappings":"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"}
|
@@ -22,7 +22,7 @@ const UseDynamicFontSize = (props) => {
|
|
22
22
|
rootElement.appendChild(label);
|
23
23
|
};
|
24
24
|
export const propPanel = {
|
25
|
-
|
25
|
+
schema: ({ options, activeSchema }) => {
|
26
26
|
const font = options.font || { [DEFAULT_FONT_NAME]: { data: '', fallback: true } };
|
27
27
|
const fontNames = Object.keys(font);
|
28
28
|
const fallbackFontName = getFallbackFontName(font);
|
@@ -34,8 +34,16 @@ export const propPanel = {
|
|
34
34
|
widget: 'select',
|
35
35
|
default: fallbackFontName,
|
36
36
|
props: { options: fontNames.map((name) => ({ label: name, value: name })) },
|
37
|
-
span:
|
37
|
+
span: 12,
|
38
|
+
},
|
39
|
+
fontSize: {
|
40
|
+
title: 'Size',
|
41
|
+
type: 'number',
|
42
|
+
widget: 'inputNumber',
|
43
|
+
span: 6,
|
44
|
+
disabled: enableDynamicFont,
|
38
45
|
},
|
46
|
+
characterSpacing: { title: 'Spacing', type: 'number', widget: 'inputNumber', span: 6 },
|
39
47
|
alignment: {
|
40
48
|
title: 'Text Align',
|
41
49
|
type: 'string',
|
@@ -62,15 +70,7 @@ export const propPanel = {
|
|
62
70
|
},
|
63
71
|
span: 8,
|
64
72
|
},
|
65
|
-
fontSize: {
|
66
|
-
title: 'Font Size',
|
67
|
-
type: 'number',
|
68
|
-
widget: 'inputNumber',
|
69
|
-
span: 8,
|
70
|
-
disabled: enableDynamicFont,
|
71
|
-
},
|
72
73
|
lineHeight: { title: 'Line Height', type: 'number', widget: 'inputNumber', span: 8 },
|
73
|
-
characterSpacing: { title: 'Char Spc', type: 'number', widget: 'inputNumber', span: 8 },
|
74
74
|
useDynamicFontSize: { type: 'boolean', widget: 'UseDynamicFontSize', bind: false },
|
75
75
|
dynamicFontSize: {
|
76
76
|
type: 'object',
|
@@ -105,6 +105,9 @@ export const propPanel = {
|
|
105
105
|
position: { x: 0, y: 0 },
|
106
106
|
width: 45,
|
107
107
|
height: 10,
|
108
|
+
// If the value of "rotate" is set to undefined or not set at all, rotation will be disabled in the UI.
|
109
|
+
// Check this document: https://pdfme.com//docs/custom-schemas#learning-how-to-create-from-pdfmeschemas-code
|
110
|
+
rotate: 0,
|
108
111
|
alignment: DEFAULT_ALIGNMENT,
|
109
112
|
verticalAlignment: DEFAULT_VERTICAL_ALIGNMENT,
|
110
113
|
fontSize: DEFAULT_FONT_SIZE,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/text/propPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAIjB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,6BAA6B,EAC7B,6BAA6B,EAC7B,WAAW,EACX,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,MAAM,kBAAkB,GAAG,CAAC,KAA2B,EAAE,EAAE;IACzD,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;IAC3B,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAE,YAAoB,aAApB,YAAY,uBAAZ,YAAY,CAAU,eAAe,CAAC,CAAC;IACnE,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAM,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO;YAC1B,CAAC,CAAC;gBACE,GAAG,EAAE,6BAA6B;gBAClC,GAAG,EAAE,6BAA6B;gBAClC,GAAG,EAAE,mBAAmB;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QACd,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC;IACtC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,6BAA6B,CAAC;IACpD,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5B,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA0B;IAC9C,
|
1
|
+
{"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/text/propPanel.ts"],"names":[],"mappings":"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"}
|
@@ -21,6 +21,18 @@ const mapVerticalAlignToFlex = (verticalAlignmentValue) => {
|
|
21
21
|
}
|
22
22
|
return 'flex-start';
|
23
23
|
};
|
24
|
+
const getBackgroundColor = (mode, value, schema) => {
|
25
|
+
var _a;
|
26
|
+
if ((mode === 'form' || mode === 'designer') && value && schema.backgroundColor) {
|
27
|
+
return schema.backgroundColor;
|
28
|
+
}
|
29
|
+
else if (mode === 'viewer') {
|
30
|
+
return (_a = schema.backgroundColor) !== null && _a !== void 0 ? _a : 'transparent';
|
31
|
+
}
|
32
|
+
else {
|
33
|
+
return 'rgb(242 244 255 / 75%)';
|
34
|
+
}
|
35
|
+
};
|
24
36
|
export const uiRender = (arg) => __awaiter(void 0, void 0, void 0, function* () {
|
25
37
|
var _a, _b, _c, _d, _e, _f, _g;
|
26
38
|
const { value, schema, rootElement, mode, onChange, stopEditing, tabIndex, placeholder, options, } = arg;
|
@@ -41,18 +53,6 @@ export const uiRender = (arg) => __awaiter(void 0, void 0, void 0, function* ()
|
|
41
53
|
const topAdjustment = topAdj;
|
42
54
|
const bottomAdjustment = bottomAdj;
|
43
55
|
const container = document.createElement('div');
|
44
|
-
function getBackgroundColor(mode, value, schema) {
|
45
|
-
var _a;
|
46
|
-
if (mode === 'form' && value && schema.backgroundColor) {
|
47
|
-
return schema.backgroundColor;
|
48
|
-
}
|
49
|
-
else if (mode === 'viewer') {
|
50
|
-
return (_a = schema.backgroundColor) !== null && _a !== void 0 ? _a : 'transparent';
|
51
|
-
}
|
52
|
-
else {
|
53
|
-
return 'rgb(242 244 255 / 75%)';
|
54
|
-
}
|
55
|
-
}
|
56
56
|
const containerStyle = {
|
57
57
|
padding: 0,
|
58
58
|
resize: 'none',
|
@@ -77,7 +77,7 @@ export const uiRender = (arg) => __awaiter(void 0, void 0, void 0, function* ()
|
|
77
77
|
whiteSpace: 'pre-wrap',
|
78
78
|
wordBreak: 'break-word',
|
79
79
|
};
|
80
|
-
if (mode === 'form') {
|
80
|
+
if (mode === 'form' || mode === 'designer') {
|
81
81
|
const textarea = document.createElement('textarea');
|
82
82
|
const textareaStyle = {
|
83
83
|
padding: 0,
|
@@ -97,8 +97,10 @@ export const uiRender = (arg) => __awaiter(void 0, void 0, void 0, function* ()
|
|
97
97
|
textarea.addEventListener('blur', () => stopEditing && stopEditing());
|
98
98
|
textarea.value = value;
|
99
99
|
container.appendChild(textarea);
|
100
|
-
|
101
|
-
|
100
|
+
if (mode === 'designer') {
|
101
|
+
textarea.setSelectionRange(value.length, value.length);
|
102
|
+
textarea.focus();
|
103
|
+
}
|
102
104
|
}
|
103
105
|
else {
|
104
106
|
const div = document.createElement('div');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/text/uiRender.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAyB,cAAc,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,iCAAiC,GAClC,MAAM,UAAU,CAAC;AAElB,MAAM,sBAAsB,GAAG,CAAC,sBAA0C,EAAE,EAAE;IAC5E,QAAQ,sBAAsB,EAAE;QAC9B,KAAK,kBAAkB;YACrB,OAAO,YAAY,CAAC;QACtB,KAAK,qBAAqB;YACxB,OAAO,QAAQ,CAAC;QAClB,KAAK,qBAAqB;YACxB,OAAO,UAAU,CAAC;KACrB;IACD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAO,GAA8B,EAAE,EAAE;;IAC/D,MAAM,EACJ,KAAK,EACL,MAAM,EACN,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EACX,OAAO,GACR,GAAG,GAAG,CAAC;IACR,MAAM,IAAI,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,cAAc,EAAE,CAAC;IAE/C,IAAI,eAAe,GAAuB,SAAS,CAAC;IACpD,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK,EAAE;QACnC,eAAe,GAAG,MAAM,wBAAwB,CAAC;YAC/C,UAAU,EAAE,MAAM;YAClB,IAAI;YACJ,KAAK;YACL,gBAAgB,EAAE,eAAe;SAClC,CAAC,CAAC;KACJ;IAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,yFAAyF;IACzF,kEAAkE;IAClE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,iCAAiC,CAC7D,WAAW,EACX,MAAA,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,MAAM,CAAC,QAAQ,mCAAI,iBAAiB,EACvD,MAAA,MAAM,CAAC,UAAU,mCAAI,mBAAmB,EACxC,MAAA,MAAM,CAAC,iBAAiB,mCAAI,0BAA0B,CACvD,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,CAAC;IAC7B,MAAM,gBAAgB,GAAG,SAAS,CAAC;IAEnC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/text/uiRender.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -1,3 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
import text from './text';
|
2
|
+
import image from './image';
|
3
|
+
import barcodes from './barcodes';
|
4
|
+
import { convertForPdfLayoutProps, rotatePoint } from './renderUtils';
|
5
|
+
declare const builtInPlugins: {
|
6
|
+
Text: import("@pdfme/common").Plugin<import("./text/types").TextSchema>;
|
7
|
+
};
|
8
|
+
export { text, image, barcodes, builtInPlugins, convertForPdfLayoutProps, rotatePoint };
|
@@ -1,16 +1,25 @@
|
|
1
|
-
import { PDFPage } from '@pdfme/pdf-lib';
|
2
1
|
import { Schema } from '@pdfme/common';
|
3
|
-
export declare const
|
4
|
-
export declare const calcX: (x: number, alignment: 'left' | 'center' | 'right', boxWidth: number, textWidth: number) => number;
|
5
|
-
export declare const calcY: (y: number, pageHeight: number, itemHeight: number) => number;
|
6
|
-
export declare const renderBackgroundColor: (arg: {
|
2
|
+
export declare const convertForPdfLayoutProps: ({ schema, pageHeight, applyRotateTranslate, }: {
|
7
3
|
schema: Schema;
|
8
|
-
page: PDFPage;
|
9
4
|
pageHeight: number;
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
applyRotateTranslate?: boolean | undefined;
|
6
|
+
}) => {
|
7
|
+
position: {
|
8
|
+
x: number;
|
9
|
+
y: number;
|
10
|
+
};
|
13
11
|
height: number;
|
12
|
+
width: number;
|
14
13
|
rotate: import("@pdfme/pdf-lib").Degrees;
|
15
14
|
};
|
15
|
+
export declare const rotatePoint: (point: {
|
16
|
+
x: number;
|
17
|
+
y: number;
|
18
|
+
}, pivot: {
|
19
|
+
x: number;
|
20
|
+
y: number;
|
21
|
+
}, angleDegrees: number) => {
|
22
|
+
x: number;
|
23
|
+
y: number;
|
24
|
+
};
|
16
25
|
export declare const getCacheKey: (schema: Schema, input: string) => string;
|
package/package.json
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { PDFRenderProps } from '@pdfme/common';
|
2
|
-
import {
|
2
|
+
import { getCacheKey, convertForPdfLayoutProps } from '../renderUtils';
|
3
3
|
import type { BarcodeSchema } from './types';
|
4
4
|
import { createBarCode, validateBarcodeInput } from './helper';
|
5
5
|
|
@@ -7,14 +7,6 @@ export const pdfRender = async (arg: PDFRenderProps<BarcodeSchema>) => {
|
|
7
7
|
const { value, schema, pdfDoc, page, _cache } = arg;
|
8
8
|
if (!validateBarcodeInput(schema.type, value)) return;
|
9
9
|
|
10
|
-
const { width, height, rotate } = convertSchemaDimensionsToPt(schema);
|
11
|
-
const opt = {
|
12
|
-
x: calcX(schema.position.x, 'left', width, width),
|
13
|
-
y: calcY(schema.position.y, page.getHeight(), height),
|
14
|
-
rotate,
|
15
|
-
width,
|
16
|
-
height,
|
17
|
-
};
|
18
10
|
const inputBarcodeCacheKey = getCacheKey(schema, value);
|
19
11
|
let image = _cache.get(inputBarcodeCacheKey);
|
20
12
|
if (!image) {
|
@@ -25,5 +17,13 @@ export const pdfRender = async (arg: PDFRenderProps<BarcodeSchema>) => {
|
|
25
17
|
_cache.set(inputBarcodeCacheKey, image);
|
26
18
|
}
|
27
19
|
|
28
|
-
page.
|
20
|
+
const pageHeight = page.getHeight();
|
21
|
+
const {
|
22
|
+
width,
|
23
|
+
height,
|
24
|
+
rotate,
|
25
|
+
position: { x, y },
|
26
|
+
} = convertForPdfLayoutProps({ schema, pageHeight });
|
27
|
+
|
28
|
+
page.drawImage(image, { x, y, rotate, width, height });
|
29
29
|
};
|