@pdfme/schemas 3.0.1 → 3.1.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__/barcode.test.js +6 -15
- package/dist/cjs/__tests__/barcode.test.js.map +1 -1
- package/dist/cjs/__tests__/renderUtils.test.js +0 -7
- package/dist/cjs/__tests__/renderUtils.test.js.map +1 -1
- package/dist/cjs/__tests__/text.test.js +49 -58
- package/dist/cjs/__tests__/text.test.js.map +1 -1
- package/dist/cjs/src/barcodes/helper.js +5 -14
- package/dist/cjs/src/barcodes/helper.js.map +1 -1
- package/dist/cjs/src/barcodes/index.js +6 -6
- package/dist/cjs/src/barcodes/index.js.map +1 -1
- package/dist/cjs/src/barcodes/pdfRender.js +12 -18
- package/dist/cjs/src/barcodes/pdfRender.js.map +1 -1
- package/dist/cjs/src/barcodes/propPanel.js +107 -19
- package/dist/cjs/src/barcodes/propPanel.js.map +1 -1
- package/dist/cjs/src/barcodes/uiRender.js +44 -26
- package/dist/cjs/src/barcodes/uiRender.js.map +1 -1
- package/dist/cjs/src/image/index.js +4 -4
- package/dist/cjs/src/image/index.js.map +1 -1
- package/dist/cjs/src/image/pdfRender.js +7 -15
- package/dist/cjs/src/image/pdfRender.js.map +1 -1
- package/dist/cjs/src/image/uiRender.js +19 -17
- package/dist/cjs/src/image/uiRender.js.map +1 -1
- package/dist/cjs/src/index.js +10 -10
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/renderUtils.js +12 -3
- package/dist/cjs/src/renderUtils.js.map +1 -1
- package/dist/cjs/src/text/helper.js +18 -28
- package/dist/cjs/src/text/helper.js.map +1 -1
- package/dist/cjs/src/text/index.js +4 -4
- package/dist/cjs/src/text/index.js.map +1 -1
- package/dist/cjs/src/text/pdfRender.js +31 -41
- package/dist/cjs/src/text/pdfRender.js.map +1 -1
- package/dist/cjs/src/text/propPanel.js +55 -35
- package/dist/cjs/src/text/propPanel.js.map +1 -1
- package/dist/cjs/src/text/uiRender.js +27 -33
- package/dist/cjs/src/text/uiRender.js.map +1 -1
- package/dist/esm/__tests__/barcode.test.js +6 -15
- package/dist/esm/__tests__/barcode.test.js.map +1 -1
- package/dist/esm/__tests__/renderUtils.test.js +1 -8
- package/dist/esm/__tests__/renderUtils.test.js.map +1 -1
- package/dist/esm/__tests__/text.test.js +49 -58
- package/dist/esm/__tests__/text.test.js.map +1 -1
- package/dist/esm/src/barcodes/helper.js +4 -13
- package/dist/esm/src/barcodes/helper.js.map +1 -1
- package/dist/esm/src/barcodes/index.js +4 -4
- package/dist/esm/src/barcodes/index.js.map +1 -1
- package/dist/esm/src/barcodes/pdfRender.js +9 -15
- package/dist/esm/src/barcodes/pdfRender.js.map +1 -1
- package/dist/esm/src/barcodes/propPanel.js +104 -16
- package/dist/esm/src/barcodes/propPanel.js.map +1 -1
- package/dist/esm/src/barcodes/uiRender.js +43 -25
- package/dist/esm/src/barcodes/uiRender.js.map +1 -1
- package/dist/esm/src/image/index.js +3 -3
- package/dist/esm/src/image/index.js.map +1 -1
- package/dist/esm/src/image/pdfRender.js +5 -13
- package/dist/esm/src/image/pdfRender.js.map +1 -1
- package/dist/esm/src/image/uiRender.js +19 -17
- package/dist/esm/src/image/uiRender.js.map +1 -1
- package/dist/esm/src/index.js +4 -4
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/renderUtils.js +10 -1
- package/dist/esm/src/renderUtils.js.map +1 -1
- package/dist/esm/src/text/helper.js +9 -19
- package/dist/esm/src/text/helper.js.map +1 -1
- package/dist/esm/src/text/index.js +3 -3
- package/dist/esm/src/text/index.js.map +1 -1
- package/dist/esm/src/text/pdfRender.js +20 -30
- package/dist/esm/src/text/pdfRender.js.map +1 -1
- package/dist/esm/src/text/propPanel.js +46 -26
- package/dist/esm/src/text/propPanel.js.map +1 -1
- package/dist/esm/src/text/uiRender.js +23 -29
- package/dist/esm/src/text/uiRender.js.map +1 -1
- package/dist/types/src/barcodes/types.d.ts +1 -1
- package/dist/types/src/index.d.ts +5 -5
- package/dist/types/src/renderUtils.d.ts +1 -1
- package/package.json +5 -3
- package/src/barcodes/helper.ts +1 -1
- package/src/barcodes/index.ts +4 -4
- package/src/barcodes/pdfRender.ts +7 -3
- package/src/barcodes/propPanel.ts +13 -9
- package/src/barcodes/types.ts +1 -1
- package/src/barcodes/uiRender.ts +5 -3
- package/src/image/index.ts +3 -3
- package/src/image/pdfRender.ts +4 -2
- package/src/image/uiRender.ts +4 -2
- package/src/index.ts +4 -4
- package/src/renderUtils.ts +9 -1
- package/src/text/helper.ts +1 -1
- package/src/text/index.ts +3 -3
- package/src/text/pdfRender.ts +3 -3
- package/src/text/propPanel.ts +44 -24
- package/src/text/uiRender.ts +13 -5
@@ -22,21 +22,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
22
|
__setModuleDefault(result, mod);
|
23
23
|
return result;
|
24
24
|
};
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
32
|
-
});
|
33
|
-
};
|
34
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
35
26
|
exports.calculateDynamicFontSize = exports.getSplittedLines = exports.getFontKitFont = exports.widthOfTextAtSize = exports.heightOfFontAtSize = exports.getFontDescentInPt = exports.getBrowserVerticalFontAdjustments = void 0;
|
36
27
|
const fontkit = __importStar(require("fontkit"));
|
37
28
|
const common_1 = require("@pdfme/common");
|
38
29
|
const buffer_1 = require("buffer");
|
39
|
-
const
|
30
|
+
const constants_js_1 = require("./constants.js");
|
40
31
|
const getBrowserVerticalFontAdjustments = (fontKitFont, fontSize, lineHeight, verticalAlignment) => {
|
41
32
|
const { ascent, descent, unitsPerEm } = fontKitFont;
|
42
33
|
// Fonts have a designed line height that the browser renders when using `line-height: normal`
|
@@ -47,7 +38,7 @@ const getBrowserVerticalFontAdjustments = (fontKitFont, fontSize, lineHeight, ve
|
|
47
38
|
// Browsers middle the font within this height, so we only need half of it to apply to the top.
|
48
39
|
// This means the font renders a bit lower in the browser, but achieves PDF alignment
|
49
40
|
const topAdjustment = (fontBaseLineHeight * fontSize - fontSize) / 2;
|
50
|
-
if (verticalAlignment ===
|
41
|
+
if (verticalAlignment === constants_js_1.VERTICAL_ALIGN_TOP) {
|
51
42
|
return { topAdj: (0, common_1.pt2px)(topAdjustment), bottomAdj: 0 };
|
52
43
|
}
|
53
44
|
// For vertical alignment bottom and middle
|
@@ -98,7 +89,7 @@ const getFallbackFont = (font) => {
|
|
98
89
|
return font[fallbackFontName];
|
99
90
|
};
|
100
91
|
const fontKitFontCache = {};
|
101
|
-
const getFontKitFont = (textSchema, font) =>
|
92
|
+
const getFontKitFont = async (textSchema, font) => {
|
102
93
|
const fontName = textSchema.fontName || (0, common_1.getFallbackFontName)(font);
|
103
94
|
if (fontKitFontCache[fontName]) {
|
104
95
|
return fontKitFontCache[fontName];
|
@@ -107,13 +98,13 @@ const getFontKitFont = (textSchema, font) => __awaiter(void 0, void 0, void 0, f
|
|
107
98
|
let fontData = currentFont.data;
|
108
99
|
if (typeof fontData === 'string') {
|
109
100
|
fontData = fontData.startsWith('http')
|
110
|
-
?
|
101
|
+
? await fetch(fontData).then((res) => res.arrayBuffer())
|
111
102
|
: (0, common_1.b64toUint8Array)(fontData);
|
112
103
|
}
|
113
104
|
const fontKitFont = fontkit.create(fontData instanceof buffer_1.Buffer ? fontData : buffer_1.Buffer.from(fontData));
|
114
105
|
fontKitFontCache[fontName] = fontKitFont;
|
115
106
|
return fontKitFont;
|
116
|
-
}
|
107
|
+
};
|
117
108
|
exports.getFontKitFont = getFontKitFont;
|
118
109
|
const isTextExceedingBoxWidth = (text, calcValues) => {
|
119
110
|
const { font, fontSize, characterSpacing, boxWidthInPt } = calcValues;
|
@@ -174,16 +165,15 @@ exports.getSplittedLines = getSplittedLines;
|
|
174
165
|
* Calculating space usage involves splitting lines where they exceed
|
175
166
|
* the box width based on the proposed size.
|
176
167
|
*/
|
177
|
-
const calculateDynamicFontSize = ({ textSchema, font, value, startingFontSize, }) =>
|
178
|
-
|
179
|
-
const
|
180
|
-
const fontSize = startingFontSize || schemaFontSize || constants_1.DEFAULT_FONT_SIZE;
|
168
|
+
const calculateDynamicFontSize = async ({ textSchema, font, value, startingFontSize, }) => {
|
169
|
+
const { fontSize: schemaFontSize, dynamicFontSize: dynamicFontSizeSetting, characterSpacing: schemaCharacterSpacing, width: boxWidth, height: boxHeight, lineHeight = constants_js_1.DEFAULT_LINE_HEIGHT, } = textSchema;
|
170
|
+
const fontSize = startingFontSize || schemaFontSize || constants_js_1.DEFAULT_FONT_SIZE;
|
181
171
|
if (!dynamicFontSizeSetting)
|
182
172
|
return fontSize;
|
183
173
|
if (dynamicFontSizeSetting.max < dynamicFontSizeSetting.min)
|
184
174
|
return fontSize;
|
185
|
-
const characterSpacing = schemaCharacterSpacing
|
186
|
-
const fontKitFont =
|
175
|
+
const characterSpacing = schemaCharacterSpacing ?? constants_js_1.DEFAULT_CHARACTER_SPACING;
|
176
|
+
const fontKitFont = await (0, exports.getFontKitFont)(textSchema, font);
|
187
177
|
const paragraphs = value.split('\n');
|
188
178
|
let dynamicFontSize = fontSize;
|
189
179
|
if (dynamicFontSize < dynamicFontSizeSetting.min) {
|
@@ -192,7 +182,7 @@ const calculateDynamicFontSize = ({ textSchema, font, value, startingFontSize, }
|
|
192
182
|
else if (dynamicFontSize > dynamicFontSizeSetting.max) {
|
193
183
|
dynamicFontSize = dynamicFontSizeSetting.max;
|
194
184
|
}
|
195
|
-
const dynamicFontFit =
|
185
|
+
const dynamicFontFit = dynamicFontSizeSetting.fit ?? constants_js_1.DEFAULT_DYNAMIC_FIT;
|
196
186
|
const calculateConstraints = (size) => {
|
197
187
|
let totalWidthInMm = 0;
|
198
188
|
let totalHeightInMm = 0;
|
@@ -208,7 +198,7 @@ const calculateDynamicFontSize = ({ textSchema, font, value, startingFontSize, }
|
|
208
198
|
boxWidthInPt,
|
209
199
|
});
|
210
200
|
lines.forEach((line, lineIndex) => {
|
211
|
-
if (dynamicFontFit ===
|
201
|
+
if (dynamicFontFit === constants_js_1.DYNAMIC_FIT_VERTICAL) {
|
212
202
|
// For vertical fit we want to consider the width of text lines where we detect a split
|
213
203
|
const textWidth = (0, exports.widthOfTextAtSize)(line, fontKitFont, size, characterSpacing);
|
214
204
|
const textWidthInMm = (0, common_1.pt2mm)(textWidth);
|
@@ -221,7 +211,7 @@ const calculateDynamicFontSize = ({ textSchema, font, value, startingFontSize, }
|
|
221
211
|
totalHeightInMm += otherRowHeightInMm;
|
222
212
|
}
|
223
213
|
});
|
224
|
-
if (dynamicFontFit ===
|
214
|
+
if (dynamicFontFit === constants_js_1.DYNAMIC_FIT_HORIZONTAL) {
|
225
215
|
// For horizontal fit we want to consider the line's width 'unsplit'
|
226
216
|
const textWidth = (0, exports.widthOfTextAtSize)(paragraph, fontKitFont, size, characterSpacing);
|
227
217
|
const textWidthInMm = (0, common_1.pt2mm)(textWidth);
|
@@ -234,7 +224,7 @@ const calculateDynamicFontSize = ({ textSchema, font, value, startingFontSize, }
|
|
234
224
|
if (dynamicFontSize >= dynamicFontSizeSetting.max) {
|
235
225
|
return false;
|
236
226
|
}
|
237
|
-
if (dynamicFontFit ===
|
227
|
+
if (dynamicFontFit === constants_js_1.DYNAMIC_FIT_HORIZONTAL) {
|
238
228
|
return totalWidthInMm < boxWidth;
|
239
229
|
}
|
240
230
|
return totalHeightInMm < boxHeight;
|
@@ -248,23 +238,23 @@ const calculateDynamicFontSize = ({ textSchema, font, value, startingFontSize, }
|
|
248
238
|
let { totalWidthInMm, totalHeightInMm } = calculateConstraints(dynamicFontSize);
|
249
239
|
// Attempt to increase the font size up to desired fit
|
250
240
|
while (shouldFontGrowToFit(totalWidthInMm, totalHeightInMm)) {
|
251
|
-
dynamicFontSize +=
|
241
|
+
dynamicFontSize += constants_js_1.FONT_SIZE_ADJUSTMENT;
|
252
242
|
const { totalWidthInMm: newWidth, totalHeightInMm: newHeight } = calculateConstraints(dynamicFontSize);
|
253
243
|
if (newHeight < boxHeight) {
|
254
244
|
totalWidthInMm = newWidth;
|
255
245
|
totalHeightInMm = newHeight;
|
256
246
|
}
|
257
247
|
else {
|
258
|
-
dynamicFontSize -=
|
248
|
+
dynamicFontSize -= constants_js_1.FONT_SIZE_ADJUSTMENT;
|
259
249
|
break;
|
260
250
|
}
|
261
251
|
}
|
262
252
|
// Attempt to decrease the font size down to desired fit
|
263
253
|
while (shouldFontShrinkToFit(totalWidthInMm, totalHeightInMm)) {
|
264
|
-
dynamicFontSize -=
|
254
|
+
dynamicFontSize -= constants_js_1.FONT_SIZE_ADJUSTMENT;
|
265
255
|
({ totalWidthInMm, totalHeightInMm } = calculateConstraints(dynamicFontSize));
|
266
256
|
}
|
267
257
|
return dynamicFontSize;
|
268
|
-
}
|
258
|
+
};
|
269
259
|
exports.calculateDynamicFontSize = calculateDynamicFontSize;
|
270
260
|
//# sourceMappingURL=helper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/text/helper.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/text/helper.ts"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
const schema = { pdf:
|
3
|
+
const pdfRender_js_1 = require("./pdfRender.js");
|
4
|
+
const propPanel_js_1 = require("./propPanel.js");
|
5
|
+
const uiRender_js_1 = require("./uiRender.js");
|
6
|
+
const schema = { pdf: pdfRender_js_1.pdfRender, ui: uiRender_js_1.uiRender, propPanel: propPanel_js_1.propPanel };
|
7
7
|
exports.default = schema;
|
8
8
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/text/index.ts"],"names":[],"mappings":";;AACA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/text/index.ts"],"names":[],"mappings":";;AACA,iDAA2C;AAC3C,iDAA2C;AAC3C,+CAAyC;AAGzC,MAAM,MAAM,GAAuB,EAAE,GAAG,EAAE,wBAAS,EAAE,EAAE,EAAE,sBAAQ,EAAE,SAAS,EAAT,wBAAS,EAAE,CAAC;AAE/E,kBAAe,MAAM,CAAC"}
|
@@ -1,20 +1,11 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
3
|
exports.pdfRender = void 0;
|
13
4
|
const pdf_lib_1 = require("@pdfme/pdf-lib");
|
14
5
|
const common_1 = require("@pdfme/common");
|
15
|
-
const
|
16
|
-
const
|
17
|
-
const
|
6
|
+
const constants_js_1 = require("./constants.js");
|
7
|
+
const helper_js_1 = require("./helper.js");
|
8
|
+
const renderUtils_js_1 = require("../renderUtils.js");
|
18
9
|
const hex2rgb = (hex) => {
|
19
10
|
if (hex.slice(0, 1) === '#')
|
20
11
|
hex = hex.slice(1);
|
@@ -36,59 +27,58 @@ const hex2RgbColor = (hexString) => {
|
|
36
27
|
return undefined;
|
37
28
|
};
|
38
29
|
const embedAndGetFontObjCache = new WeakMap();
|
39
|
-
const embedAndGetFontObj = (arg) =>
|
30
|
+
const embedAndGetFontObj = async (arg) => {
|
40
31
|
const { pdfDoc, font } = arg;
|
41
32
|
if (embedAndGetFontObjCache.has(pdfDoc)) {
|
42
33
|
return embedAndGetFontObjCache.get(pdfDoc);
|
43
34
|
}
|
44
|
-
const fontValues =
|
35
|
+
const fontValues = await Promise.all(Object.values(font).map(async (v) => {
|
45
36
|
let fontData = v.data;
|
46
37
|
if (typeof fontData === 'string' && fontData.startsWith('http')) {
|
47
|
-
fontData =
|
38
|
+
fontData = await fetch(fontData).then((res) => res.arrayBuffer());
|
48
39
|
}
|
49
40
|
return pdfDoc.embedFont(fontData, {
|
50
41
|
subset: typeof v.subset === 'undefined' ? true : v.subset,
|
51
42
|
});
|
52
|
-
}))
|
43
|
+
}));
|
53
44
|
const fontObj = Object.keys(font).reduce((acc, cur, i) => Object.assign(acc, { [cur]: fontValues[i] }), {});
|
54
45
|
embedAndGetFontObjCache.set(pdfDoc, fontObj);
|
55
46
|
return fontObj;
|
56
|
-
}
|
57
|
-
const getFontProp = ({ value, font, schema, }) =>
|
58
|
-
var _a, _b, _c, _d, _e;
|
47
|
+
};
|
48
|
+
const getFontProp = async ({ value, font, schema, }) => {
|
59
49
|
const fontSize = schema.dynamicFontSize
|
60
|
-
?
|
61
|
-
:
|
62
|
-
const color = hex2RgbColor(schema.fontColor ||
|
50
|
+
? await (0, helper_js_1.calculateDynamicFontSize)({ textSchema: schema, font, value })
|
51
|
+
: schema.fontSize ?? constants_js_1.DEFAULT_FONT_SIZE;
|
52
|
+
const color = hex2RgbColor(schema.fontColor || constants_js_1.DEFAULT_FONT_COLOR);
|
63
53
|
return {
|
64
|
-
alignment:
|
65
|
-
verticalAlignment:
|
66
|
-
lineHeight:
|
67
|
-
characterSpacing:
|
54
|
+
alignment: schema.alignment ?? constants_js_1.DEFAULT_ALIGNMENT,
|
55
|
+
verticalAlignment: schema.verticalAlignment ?? constants_js_1.DEFAULT_VERTICAL_ALIGNMENT,
|
56
|
+
lineHeight: schema.lineHeight ?? constants_js_1.DEFAULT_LINE_HEIGHT,
|
57
|
+
characterSpacing: schema.characterSpacing ?? constants_js_1.DEFAULT_CHARACTER_SPACING,
|
68
58
|
fontSize,
|
69
59
|
color,
|
70
60
|
};
|
71
|
-
}
|
72
|
-
const pdfRender = (arg) =>
|
61
|
+
};
|
62
|
+
const pdfRender = async (arg) => {
|
73
63
|
const { value, pdfDoc, pdfLib, page, options, schema } = arg;
|
74
64
|
const { font = (0, common_1.getDefaultFont)() } = options;
|
75
|
-
const [pdfFontObj, fontKitFont, fontProp] =
|
65
|
+
const [pdfFontObj, fontKitFont, fontProp] = await Promise.all([
|
76
66
|
embedAndGetFontObj({ pdfDoc, font }),
|
77
|
-
(0,
|
67
|
+
(0, helper_js_1.getFontKitFont)(schema, font),
|
78
68
|
getFontProp({ value, font, schema }),
|
79
69
|
]);
|
80
70
|
const { fontSize, color, alignment, verticalAlignment, lineHeight, characterSpacing } = fontProp;
|
81
71
|
const fontName = (schema.fontName ? schema.fontName : (0, common_1.getFallbackFontName)(font));
|
82
72
|
const pdfFontValue = pdfFontObj[fontName];
|
83
73
|
const pageHeight = page.getHeight();
|
84
|
-
const { width, height, rotate, position: { x, y }, } = (0,
|
74
|
+
const { width, height, rotate, position: { x, y }, } = (0, renderUtils_js_1.convertForPdfLayoutProps)({ schema, pageHeight, applyRotateTranslate: false });
|
85
75
|
if (schema.backgroundColor) {
|
86
76
|
const color = hex2RgbColor(schema.backgroundColor);
|
87
77
|
page.drawRectangle({ x, y, width, height, rotate, color });
|
88
78
|
}
|
89
|
-
page.pushOperators(pdfLib.setCharacterSpacing(characterSpacing
|
90
|
-
const firstLineTextHeight = (0,
|
91
|
-
const descent = (0,
|
79
|
+
page.pushOperators(pdfLib.setCharacterSpacing(characterSpacing ?? constants_js_1.DEFAULT_CHARACTER_SPACING));
|
80
|
+
const firstLineTextHeight = (0, helper_js_1.heightOfFontAtSize)(fontKitFont, fontSize);
|
81
|
+
const descent = (0, helper_js_1.getFontDescentInPt)(fontKitFont, fontSize);
|
92
82
|
const halfLineHeightAdjustment = lineHeight === 0 ? 0 : ((lineHeight - 1) * fontSize) / 2;
|
93
83
|
const fontWidthCalcValues = {
|
94
84
|
font: fontKitFont,
|
@@ -98,26 +88,26 @@ const pdfRender = (arg) => __awaiter(void 0, void 0, void 0, function* () {
|
|
98
88
|
};
|
99
89
|
let lines = [];
|
100
90
|
value.split(/\r|\n|\r\n/g).forEach((line) => {
|
101
|
-
lines = lines.concat((0,
|
91
|
+
lines = lines.concat((0, helper_js_1.getSplittedLines)(line, fontWidthCalcValues));
|
102
92
|
});
|
103
93
|
// Text lines are rendered from the bottom upwards, we need to adjust the position down
|
104
94
|
let yOffset = 0;
|
105
|
-
if (verticalAlignment ===
|
95
|
+
if (verticalAlignment === constants_js_1.VERTICAL_ALIGN_TOP) {
|
106
96
|
yOffset = firstLineTextHeight + halfLineHeightAdjustment;
|
107
97
|
}
|
108
98
|
else {
|
109
99
|
const otherLinesHeight = lineHeight * fontSize * (lines.length - 1);
|
110
|
-
if (verticalAlignment ===
|
100
|
+
if (verticalAlignment === constants_js_1.VERTICAL_ALIGN_BOTTOM) {
|
111
101
|
yOffset = height - otherLinesHeight + descent - halfLineHeightAdjustment;
|
112
102
|
}
|
113
|
-
else if (verticalAlignment ===
|
103
|
+
else if (verticalAlignment === constants_js_1.VERTICAL_ALIGN_MIDDLE) {
|
114
104
|
yOffset =
|
115
105
|
(height - otherLinesHeight - firstLineTextHeight + descent) / 2 + firstLineTextHeight;
|
116
106
|
}
|
117
107
|
}
|
118
108
|
const pivotPoint = { x: x + width / 2, y: pageHeight - (0, common_1.mm2pt)(schema.position.y) - height / 2 };
|
119
109
|
lines.forEach((line, rowIndex) => {
|
120
|
-
const textWidth = (0,
|
110
|
+
const textWidth = (0, helper_js_1.widthOfTextAtSize)(line, fontKitFont, fontSize, characterSpacing);
|
121
111
|
const rowYOffset = lineHeight * fontSize * rowIndex;
|
122
112
|
let xLine = x;
|
123
113
|
if (alignment === 'center') {
|
@@ -130,7 +120,7 @@ const pdfRender = (arg) => __awaiter(void 0, void 0, void 0, function* () {
|
|
130
120
|
if (rotate.angle !== 0) {
|
131
121
|
// As we draw each line individually from different points, we must translate each lines position
|
132
122
|
// relative to the UI rotation pivot point. see comments in convertForPdfLayoutProps() for more info.
|
133
|
-
const rotatedPoint = (0,
|
123
|
+
const rotatedPoint = (0, renderUtils_js_1.rotatePoint)({ x: xLine, y: yLine }, pivotPoint, rotate.angle);
|
134
124
|
xLine = rotatedPoint.x;
|
135
125
|
yLine = rotatedPoint.y;
|
136
126
|
}
|
@@ -146,6 +136,6 @@ const pdfRender = (arg) => __awaiter(void 0, void 0, void 0, function* () {
|
|
146
136
|
wordBreaks: [''],
|
147
137
|
});
|
148
138
|
});
|
149
|
-
}
|
139
|
+
};
|
150
140
|
exports.pdfRender = pdfRender;
|
151
141
|
//# sourceMappingURL=pdfRender.js.map
|
@@ -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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"}
|
@@ -2,37 +2,37 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.propPanel = void 0;
|
4
4
|
const common_1 = require("@pdfme/common");
|
5
|
-
const
|
5
|
+
const constants_js_1 = require("./constants.js");
|
6
6
|
const UseDynamicFontSize = (props) => {
|
7
|
-
const { rootElement, changeSchemas, activeSchema } = props;
|
7
|
+
const { rootElement, changeSchemas, activeSchema, i18n } = props;
|
8
8
|
const checkbox = document.createElement('input');
|
9
9
|
checkbox.type = 'checkbox';
|
10
|
-
checkbox.checked = Boolean(activeSchema
|
10
|
+
checkbox.checked = Boolean(activeSchema?.dynamicFontSize);
|
11
11
|
checkbox.onchange = (e) => {
|
12
12
|
const val = e.target.checked
|
13
13
|
? {
|
14
|
-
min:
|
15
|
-
max:
|
16
|
-
fit:
|
14
|
+
min: constants_js_1.DEFAULT_DYNAMIC_MIN_FONT_SIZE,
|
15
|
+
max: constants_js_1.DEFAULT_DYNAMIC_MAX_FONT_SIZE,
|
16
|
+
fit: constants_js_1.DEFAULT_DYNAMIC_FIT,
|
17
17
|
}
|
18
18
|
: undefined;
|
19
19
|
changeSchemas([{ key: 'dynamicFontSize', value: val, schemaId: activeSchema.id }]);
|
20
20
|
};
|
21
21
|
const label = document.createElement('label');
|
22
|
-
label.innerText = '
|
22
|
+
label.innerText = i18n('schemas.text.dynamicFontSize') || '';
|
23
23
|
label.style.cssText = 'display: flex; width: 100%;';
|
24
24
|
label.appendChild(checkbox);
|
25
25
|
rootElement.appendChild(label);
|
26
26
|
};
|
27
27
|
exports.propPanel = {
|
28
|
-
schema: ({ options, activeSchema }) => {
|
28
|
+
schema: ({ options, activeSchema, i18n }) => {
|
29
29
|
const font = options.font || { [common_1.DEFAULT_FONT_NAME]: { data: '', fallback: true } };
|
30
30
|
const fontNames = Object.keys(font);
|
31
31
|
const fallbackFontName = (0, common_1.getFallbackFontName)(font);
|
32
|
-
const enableDynamicFont = Boolean(activeSchema
|
32
|
+
const enableDynamicFont = Boolean(activeSchema?.dynamicFontSize);
|
33
33
|
const textSchema = {
|
34
34
|
fontName: {
|
35
|
-
title: '
|
35
|
+
title: i18n('schemas.text.fontName'),
|
36
36
|
type: 'string',
|
37
37
|
widget: 'select',
|
38
38
|
default: fallbackFontName,
|
@@ -40,64 +40,84 @@ exports.propPanel = {
|
|
40
40
|
span: 12,
|
41
41
|
},
|
42
42
|
fontSize: {
|
43
|
-
title: '
|
43
|
+
title: i18n('schemas.text.size'),
|
44
44
|
type: 'number',
|
45
45
|
widget: 'inputNumber',
|
46
46
|
span: 6,
|
47
47
|
disabled: enableDynamicFont,
|
48
48
|
},
|
49
|
-
characterSpacing: {
|
49
|
+
characterSpacing: {
|
50
|
+
title: i18n('schemas.text.spacing'),
|
51
|
+
type: 'number',
|
52
|
+
widget: 'inputNumber',
|
53
|
+
span: 6,
|
54
|
+
},
|
50
55
|
alignment: {
|
51
|
-
title: '
|
56
|
+
title: i18n('schemas.text.textAlign'),
|
52
57
|
type: 'string',
|
53
58
|
widget: 'select',
|
54
59
|
props: {
|
55
60
|
options: [
|
56
|
-
{ label: '
|
57
|
-
{ label: '
|
58
|
-
{ label: '
|
61
|
+
{ label: i18n('schemas.left'), value: constants_js_1.DEFAULT_ALIGNMENT },
|
62
|
+
{ label: i18n('schemas.center'), value: constants_js_1.ALIGN_CENTER },
|
63
|
+
{ label: i18n('schemas.right'), value: constants_js_1.ALIGN_RIGHT },
|
59
64
|
],
|
60
65
|
},
|
61
66
|
span: 8,
|
62
67
|
},
|
63
68
|
verticalAlignment: {
|
64
|
-
title: '
|
69
|
+
title: i18n('schemas.text.verticalAlign'),
|
65
70
|
type: 'string',
|
66
71
|
widget: 'select',
|
67
72
|
props: {
|
68
73
|
options: [
|
69
|
-
{ label: '
|
70
|
-
{ label: '
|
71
|
-
{ label: '
|
74
|
+
{ label: i18n('schemas.top'), value: constants_js_1.VERTICAL_ALIGN_TOP },
|
75
|
+
{ label: i18n('schemas.middle'), value: constants_js_1.VERTICAL_ALIGN_MIDDLE },
|
76
|
+
{ label: i18n('schemas.bottom'), value: constants_js_1.VERTICAL_ALIGN_BOTTOM },
|
72
77
|
],
|
73
78
|
},
|
74
79
|
span: 8,
|
75
80
|
},
|
76
|
-
lineHeight: {
|
77
|
-
|
81
|
+
lineHeight: {
|
82
|
+
title: i18n('schemas.text.lineHeight'),
|
83
|
+
type: 'number',
|
84
|
+
widget: 'inputNumber',
|
85
|
+
span: 8,
|
86
|
+
},
|
87
|
+
useDynamicFontSize: { type: 'boolean', widget: 'UseDynamicFontSize', bind: false, span: 16 },
|
78
88
|
dynamicFontSize: {
|
79
89
|
type: 'object',
|
80
90
|
widget: 'card',
|
81
91
|
column: 3,
|
82
92
|
properties: {
|
83
|
-
min: {
|
84
|
-
|
93
|
+
min: {
|
94
|
+
title: i18n('schemas.text.min'),
|
95
|
+
type: 'number',
|
96
|
+
widget: 'inputNumber',
|
97
|
+
hidden: !enableDynamicFont,
|
98
|
+
},
|
99
|
+
max: {
|
100
|
+
title: i18n('schemas.text.max'),
|
101
|
+
type: 'number',
|
102
|
+
widget: 'inputNumber',
|
103
|
+
hidden: !enableDynamicFont,
|
104
|
+
},
|
85
105
|
fit: {
|
86
|
-
title: '
|
106
|
+
title: i18n('schemas.text.fit'),
|
87
107
|
type: 'string',
|
88
108
|
widget: 'select',
|
89
109
|
hidden: !enableDynamicFont,
|
90
110
|
props: {
|
91
111
|
options: [
|
92
|
-
{ label: '
|
93
|
-
{ label: '
|
112
|
+
{ label: i18n('schemas.horizontal'), value: constants_js_1.DYNAMIC_FIT_HORIZONTAL },
|
113
|
+
{ label: i18n('schemas.vertical'), value: constants_js_1.DYNAMIC_FIT_VERTICAL },
|
94
114
|
],
|
95
115
|
},
|
96
116
|
},
|
97
117
|
},
|
98
118
|
},
|
99
|
-
fontColor: { title: '
|
100
|
-
backgroundColor: { title: '
|
119
|
+
fontColor: { title: i18n('schemas.textColor'), type: 'string', widget: 'color' },
|
120
|
+
backgroundColor: { title: i18n('schemas.bgColor'), type: 'string', widget: 'color' },
|
101
121
|
};
|
102
122
|
return textSchema;
|
103
123
|
},
|
@@ -111,13 +131,13 @@ exports.propPanel = {
|
|
111
131
|
// If the value of "rotate" is set to undefined or not set at all, rotation will be disabled in the UI.
|
112
132
|
// Check this document: https://pdfme.com//docs/custom-schemas#learning-how-to-create-from-pdfmeschemas-code
|
113
133
|
rotate: 0,
|
114
|
-
alignment:
|
115
|
-
verticalAlignment:
|
116
|
-
fontSize:
|
117
|
-
lineHeight:
|
118
|
-
characterSpacing:
|
134
|
+
alignment: constants_js_1.DEFAULT_ALIGNMENT,
|
135
|
+
verticalAlignment: constants_js_1.DEFAULT_VERTICAL_ALIGNMENT,
|
136
|
+
fontSize: constants_js_1.DEFAULT_FONT_SIZE,
|
137
|
+
lineHeight: constants_js_1.DEFAULT_LINE_HEIGHT,
|
138
|
+
characterSpacing: constants_js_1.DEFAULT_CHARACTER_SPACING,
|
119
139
|
dynamicFontSize: undefined,
|
120
|
-
fontColor:
|
140
|
+
fontColor: constants_js_1.DEFAULT_FONT_COLOR,
|
121
141
|
fontName: undefined,
|
122
142
|
backgroundColor: '',
|
123
143
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/text/propPanel.ts"],"names":[],"mappings":";;;AAAA,0CAMuB;AAEvB,
|
1
|
+
{"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/text/propPanel.ts"],"names":[],"mappings":"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"}
|