@pdfme/generator 2.0.2 → 2.2.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/README.md +6 -2
- package/dist/cjs/__tests__/assets/templates/index.js +10 -0
- package/dist/cjs/__tests__/assets/templates/index.js.map +1 -1
- package/dist/cjs/__tests__/generate.test.js +9 -0
- package/dist/cjs/__tests__/generate.test.js.map +1 -1
- package/dist/cjs/src/generate.js +0 -1
- package/dist/cjs/src/generate.js.map +1 -1
- package/dist/cjs/src/helper.js +62 -95
- package/dist/cjs/src/helper.js.map +1 -1
- package/dist/esm/__tests__/assets/templates/index.js +10 -0
- package/dist/esm/__tests__/assets/templates/index.js.map +1 -1
- package/dist/esm/__tests__/generate.test.js +9 -0
- package/dist/esm/__tests__/generate.test.js.map +1 -1
- package/dist/esm/src/generate.js +0 -1
- package/dist/esm/src/generate.js.map +1 -1
- package/dist/esm/src/helper.js +60 -93
- package/dist/esm/src/helper.js.map +1 -1
- package/dist/types/__tests__/assets/templates/index.d.ts +308 -0
- package/dist/types/src/helper.d.ts +0 -1
- package/package.json +2 -2
- package/src/generate.ts +0 -1
- package/src/helper.ts +76 -115
    
        package/dist/esm/src/helper.js
    CHANGED
    
    | @@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | |
| 9 9 | 
             
            };
         | 
| 10 10 | 
             
            import { PDFDocument, rgb, degrees, setCharacterSpacing, } from '@pdfme/pdf-lib';
         | 
| 11 11 | 
             
            import bwipjs from 'bwip-js';
         | 
| 12 | 
            -
            import { getB64BasePdf, b64toUint8Array, validateBarcodeInput, isTextSchema, isImageSchema, isBarcodeSchema,  | 
| 12 | 
            +
            import { getB64BasePdf, b64toUint8Array, validateBarcodeInput, isTextSchema, isImageSchema, isBarcodeSchema, DEFAULT_ALIGNMENT, DEFAULT_CHARACTER_SPACING, DEFAULT_FONT_COLOR, DEFAULT_FONT_SIZE, DEFAULT_LINE_HEIGHT, DEFAULT_VERTICAL_ALIGNMENT, VERTICAL_ALIGN_TOP, VERTICAL_ALIGN_MIDDLE, VERTICAL_ALIGN_BOTTOM, calculateDynamicFontSize, heightOfFontAtSize, getFontDescentInPt, getFontKitFont, getSplittedLines, mm2pt, widthOfTextAtSize, } from '@pdfme/common';
         | 
| 13 13 | 
             
            const barCodeType2Bcid = (type) => (type === 'nw7' ? 'rationalizedCodabar' : type);
         | 
| 14 14 | 
             
            export const createBarCode = (arg) => __awaiter(void 0, void 0, void 0, function* () {
         | 
| 15 15 | 
             
                const { type, input, width, height, backgroundColor } = arg;
         | 
| @@ -65,12 +65,7 @@ export const getEmbeddedPagesAndEmbedPdfBoxes = (arg) => __awaiter(void 0, void | |
| 65 65 | 
             
                embeddedPages = yield pdfDoc.embedPages(embedPdfPages, boundingBoxes, transformationMatrices);
         | 
| 66 66 | 
             
                return { embeddedPages, embedPdfBoxes };
         | 
| 67 67 | 
             
            });
         | 
| 68 | 
            -
            const  | 
| 69 | 
            -
                // https://www.ddc.co.jp/words/archives/20090701114500.html
         | 
| 70 | 
            -
                const ptRatio = 2.8346;
         | 
| 71 | 
            -
                return parseFloat(String(mm)) * ptRatio;
         | 
| 72 | 
            -
            };
         | 
| 73 | 
            -
            const getSchemaSizeAndRotate = (schema) => {
         | 
| 68 | 
            +
            const convertSchemaDimensionsToPt = (schema) => {
         | 
| 74 69 | 
             
                const width = mm2pt(schema.width);
         | 
| 75 70 | 
             
                const height = mm2pt(schema.height);
         | 
| 76 71 | 
             
                const rotate = degrees(schema.rotate ? schema.rotate : 0);
         | 
| @@ -98,13 +93,14 @@ const hex2RgbColor = (hexString) => { | |
| 98 93 | 
             
                return undefined;
         | 
| 99 94 | 
             
            };
         | 
| 100 95 | 
             
            const getFontProp = ({ input, font, schema }) => __awaiter(void 0, void 0, void 0, function* () {
         | 
| 101 | 
            -
                var _a, _b, _c, _d, _e;
         | 
| 102 | 
            -
                const  | 
| 96 | 
            +
                var _a, _b, _c, _d, _e, _f;
         | 
| 97 | 
            +
                const fontSize = schema.dynamicFontSize ? yield calculateDynamicFontSize({ textSchema: schema, font, input }) : (_a = schema.fontSize) !== null && _a !== void 0 ? _a : DEFAULT_FONT_SIZE;
         | 
| 103 98 | 
             
                const color = hex2RgbColor((_b = schema.fontColor) !== null && _b !== void 0 ? _b : DEFAULT_FONT_COLOR);
         | 
| 104 99 | 
             
                const alignment = (_c = schema.alignment) !== null && _c !== void 0 ? _c : DEFAULT_ALIGNMENT;
         | 
| 105 | 
            -
                const  | 
| 106 | 
            -
                const  | 
| 107 | 
            -
                 | 
| 100 | 
            +
                const verticalAlignment = (_d = schema.verticalAlignment) !== null && _d !== void 0 ? _d : DEFAULT_VERTICAL_ALIGNMENT;
         | 
| 101 | 
            +
                const lineHeight = (_e = schema.lineHeight) !== null && _e !== void 0 ? _e : DEFAULT_LINE_HEIGHT;
         | 
| 102 | 
            +
                const characterSpacing = (_f = schema.characterSpacing) !== null && _f !== void 0 ? _f : DEFAULT_CHARACTER_SPACING;
         | 
| 103 | 
            +
                return { fontSize, color, alignment, verticalAlignment, lineHeight, characterSpacing };
         | 
| 108 104 | 
             
            });
         | 
| 109 105 | 
             
            const calcX = (x, alignment, boxWidth, textWidth) => {
         | 
| 110 106 | 
             
                let addition = 0;
         | 
| @@ -116,12 +112,12 @@ const calcX = (x, alignment, boxWidth, textWidth) => { | |
| 116 112 | 
             
                }
         | 
| 117 113 | 
             
                return mm2pt(x) + addition;
         | 
| 118 114 | 
             
            };
         | 
| 119 | 
            -
            const calcY = (y,  | 
| 115 | 
            +
            const calcY = (y, pageHeight, itemHeight) => pageHeight - mm2pt(y) - itemHeight;
         | 
| 120 116 | 
             
            const drawBackgroundColor = (arg) => {
         | 
| 121 117 | 
             
                const { templateSchema, page, pageHeight } = arg;
         | 
| 122 118 | 
             
                if (!templateSchema.backgroundColor)
         | 
| 123 119 | 
             
                    return;
         | 
| 124 | 
            -
                const { width, height } =  | 
| 120 | 
            +
                const { width, height } = convertSchemaDimensionsToPt(templateSchema);
         | 
| 125 121 | 
             
                const color = hex2RgbColor(templateSchema.backgroundColor);
         | 
| 126 122 | 
             
                page.drawRectangle({
         | 
| 127 123 | 
             
                    x: calcX(templateSchema.position.x, 'left', width, width),
         | 
| @@ -131,99 +127,70 @@ const drawBackgroundColor = (arg) => { | |
| 131 127 | 
             
                    color,
         | 
| 132 128 | 
             
                });
         | 
| 133 129 | 
             
            };
         | 
| 134 | 
            -
            /**
         | 
| 135 | 
            -
             * Incrementally checks the current line for its real length
         | 
| 136 | 
            -
             * and returns the position where it exceeds the box width.
         | 
| 137 | 
            -
             * Returns `null` to indicate if inputLine is shorter as the available bbox.
         | 
| 138 | 
            -
             */
         | 
| 139 | 
            -
            const getOverPosition = (inputLine, isOverEval) => {
         | 
| 140 | 
            -
                for (let i = 0; i <= inputLine.length; i++) {
         | 
| 141 | 
            -
                    if (isOverEval(inputLine.slice(0, i))) {
         | 
| 142 | 
            -
                        return i;
         | 
| 143 | 
            -
                    }
         | 
| 144 | 
            -
                }
         | 
| 145 | 
            -
                return null;
         | 
| 146 | 
            -
            };
         | 
| 147 | 
            -
            /**
         | 
| 148 | 
            -
             * Gets the position of the split. Splits the exceeding line at
         | 
| 149 | 
            -
             * the last whitespace over it exceeds the bounding box width.
         | 
| 150 | 
            -
             */
         | 
| 151 | 
            -
            const getSplitPosition = (inputLine, isOverEval) => {
         | 
| 152 | 
            -
                const overPos = getOverPosition(inputLine, isOverEval);
         | 
| 153 | 
            -
                if (overPos === null)
         | 
| 154 | 
            -
                    return inputLine.length; // input line is shorter than the available space
         | 
| 155 | 
            -
                let overPosTmp = overPos;
         | 
| 156 | 
            -
                while (inputLine[overPosTmp] !== ' ' && overPosTmp >= 0) {
         | 
| 157 | 
            -
                    overPosTmp--;
         | 
| 158 | 
            -
                }
         | 
| 159 | 
            -
                // For very long lines with no whitespace use the original overPos
         | 
| 160 | 
            -
                return overPosTmp > 0 ? overPosTmp : overPos - 1;
         | 
| 161 | 
            -
            };
         | 
| 162 | 
            -
            /**
         | 
| 163 | 
            -
             * Recursively splits the line at getSplitPosition.
         | 
| 164 | 
            -
             * If there is some leftover, split the rest again in the same manner.
         | 
| 165 | 
            -
             */
         | 
| 166 | 
            -
            const getSplittedLines = (inputLine, isOverEval) => {
         | 
| 167 | 
            -
                const splitPos = getSplitPosition(inputLine, isOverEval);
         | 
| 168 | 
            -
                const splittedLine = inputLine.substring(0, splitPos);
         | 
| 169 | 
            -
                const rest = inputLine.substring(splitPos).trimStart();
         | 
| 170 | 
            -
                if (rest.length === 0) {
         | 
| 171 | 
            -
                    // end recursion if there is no rest
         | 
| 172 | 
            -
                    return [splittedLine];
         | 
| 173 | 
            -
                }
         | 
| 174 | 
            -
                return [splittedLine, ...getSplittedLines(rest, isOverEval)];
         | 
| 175 | 
            -
            };
         | 
| 176 130 | 
             
            const drawInputByTextSchema = (arg) => __awaiter(void 0, void 0, void 0, function* () {
         | 
| 177 | 
            -
                const { input, templateSchema, page,  | 
| 131 | 
            +
                const { input, templateSchema, page, fontSetting } = arg;
         | 
| 178 132 | 
             
                const { font, pdfFontObj, fallbackFontName } = fontSetting;
         | 
| 179 133 | 
             
                const pdfFontValue = pdfFontObj[templateSchema.fontName ? templateSchema.fontName : fallbackFontName];
         | 
| 180 134 | 
             
                const fontKitFont = yield getFontKitFont(templateSchema, font);
         | 
| 135 | 
            +
                const pageHeight = page.getHeight();
         | 
| 181 136 | 
             
                drawBackgroundColor({ templateSchema, page, pageHeight });
         | 
| 182 | 
            -
                const { width, height, rotate } =  | 
| 183 | 
            -
                const {  | 
| 137 | 
            +
                const { width, height, rotate } = convertSchemaDimensionsToPt(templateSchema);
         | 
| 138 | 
            +
                const { fontSize, color, alignment, verticalAlignment, lineHeight, characterSpacing } = yield getFontProp({
         | 
| 184 139 | 
             
                    input,
         | 
| 185 140 | 
             
                    font,
         | 
| 186 141 | 
             
                    schema: templateSchema,
         | 
| 187 142 | 
             
                });
         | 
| 188 143 | 
             
                page.pushOperators(setCharacterSpacing(characterSpacing));
         | 
| 189 | 
            -
                 | 
| 190 | 
            -
                const  | 
| 191 | 
            -
             | 
| 192 | 
            -
             | 
| 144 | 
            +
                const firstLineTextHeight = heightOfFontAtSize(fontKitFont, fontSize);
         | 
| 145 | 
            +
                const descent = getFontDescentInPt(fontKitFont, fontSize);
         | 
| 146 | 
            +
                const halfLineHeightAdjustment = lineHeight === 0 ? 0 : ((lineHeight - 1) * fontSize) / 2;
         | 
| 147 | 
            +
                const fontWidthCalcValues = {
         | 
| 148 | 
            +
                    font: fontKitFont,
         | 
| 149 | 
            +
                    fontSize,
         | 
| 150 | 
            +
                    characterSpacing,
         | 
| 151 | 
            +
                    boxWidthInPt: width,
         | 
| 193 152 | 
             
                };
         | 
| 194 | 
            -
                 | 
| 195 | 
            -
             | 
| 196 | 
            -
                     | 
| 197 | 
            -
             | 
| 198 | 
            -
             | 
| 199 | 
            -
             | 
| 200 | 
            -
             | 
| 201 | 
            -
             | 
| 202 | 
            -
             | 
| 203 | 
            -
             | 
| 204 | 
            -
             | 
| 205 | 
            -
             | 
| 206 | 
            -
             | 
| 207 | 
            -
             | 
| 208 | 
            -
             | 
| 209 | 
            -
             | 
| 210 | 
            -
             | 
| 211 | 
            -
             | 
| 212 | 
            -
             | 
| 213 | 
            -
             | 
| 214 | 
            -
             | 
| 215 | 
            -
             | 
| 216 | 
            -
             | 
| 217 | 
            -
             | 
| 153 | 
            +
                let lines = [];
         | 
| 154 | 
            +
                input.split(/\r|\n|\r\n/g).forEach((inputLine) => {
         | 
| 155 | 
            +
                    lines = lines.concat(getSplittedLines(inputLine, fontWidthCalcValues));
         | 
| 156 | 
            +
                });
         | 
| 157 | 
            +
                // Text lines are rendered from the bottom upwards, we need to adjust the position down
         | 
| 158 | 
            +
                let yOffset = 0;
         | 
| 159 | 
            +
                if (verticalAlignment === VERTICAL_ALIGN_TOP) {
         | 
| 160 | 
            +
                    yOffset = firstLineTextHeight + halfLineHeightAdjustment;
         | 
| 161 | 
            +
                }
         | 
| 162 | 
            +
                else {
         | 
| 163 | 
            +
                    const otherLinesHeight = lineHeight * fontSize * (lines.length - 1);
         | 
| 164 | 
            +
                    if (verticalAlignment === VERTICAL_ALIGN_BOTTOM) {
         | 
| 165 | 
            +
                        yOffset = height - otherLinesHeight + descent - halfLineHeightAdjustment;
         | 
| 166 | 
            +
                    }
         | 
| 167 | 
            +
                    else if (verticalAlignment === VERTICAL_ALIGN_MIDDLE) {
         | 
| 168 | 
            +
                        yOffset = (height - otherLinesHeight - firstLineTextHeight + descent) / 2 + firstLineTextHeight;
         | 
| 169 | 
            +
                    }
         | 
| 170 | 
            +
                }
         | 
| 171 | 
            +
                lines.forEach((line, rowIndex) => {
         | 
| 172 | 
            +
                    const textWidth = widthOfTextAtSize(line, fontKitFont, fontSize, characterSpacing);
         | 
| 173 | 
            +
                    const rowYOffset = lineHeight * fontSize * rowIndex;
         | 
| 174 | 
            +
                    page.drawText(line, {
         | 
| 175 | 
            +
                        x: calcX(templateSchema.position.x, alignment, width, textWidth),
         | 
| 176 | 
            +
                        y: calcY(templateSchema.position.y, pageHeight, yOffset) - rowYOffset,
         | 
| 177 | 
            +
                        rotate,
         | 
| 178 | 
            +
                        size: fontSize,
         | 
| 179 | 
            +
                        color,
         | 
| 180 | 
            +
                        lineHeight: lineHeight * fontSize,
         | 
| 181 | 
            +
                        maxWidth: width,
         | 
| 182 | 
            +
                        font: pdfFontValue,
         | 
| 183 | 
            +
                        wordBreaks: [''],
         | 
| 184 | 
            +
                    });
         | 
| 218 185 | 
             
                });
         | 
| 219 186 | 
             
            });
         | 
| 220 187 | 
             
            const getCacheKey = (templateSchema, input) => `${templateSchema.type}${input}`;
         | 
| 221 188 | 
             
            const drawInputByImageSchema = (arg) => __awaiter(void 0, void 0, void 0, function* () {
         | 
| 222 | 
            -
                const { input, templateSchema,  | 
| 223 | 
            -
                const { width, height, rotate } =  | 
| 189 | 
            +
                const { input, templateSchema, pdfDoc, page, inputImageCache } = arg;
         | 
| 190 | 
            +
                const { width, height, rotate } = convertSchemaDimensionsToPt(templateSchema);
         | 
| 224 191 | 
             
                const opt = {
         | 
| 225 192 | 
             
                    x: calcX(templateSchema.position.x, 'left', width, width),
         | 
| 226 | 
            -
                    y: calcY(templateSchema.position.y,  | 
| 193 | 
            +
                    y: calcY(templateSchema.position.y, page.getHeight(), height),
         | 
| 227 194 | 
             
                    rotate,
         | 
| 228 195 | 
             
                    width,
         | 
| 229 196 | 
             
                    height,
         | 
| @@ -238,13 +205,13 @@ const drawInputByImageSchema = (arg) => __awaiter(void 0, void 0, void 0, functi | |
| 238 205 | 
             
                page.drawImage(image, opt);
         | 
| 239 206 | 
             
            });
         | 
| 240 207 | 
             
            const drawInputByBarcodeSchema = (arg) => __awaiter(void 0, void 0, void 0, function* () {
         | 
| 241 | 
            -
                const { input, templateSchema,  | 
| 208 | 
            +
                const { input, templateSchema, pdfDoc, page, inputImageCache } = arg;
         | 
| 242 209 | 
             
                if (!validateBarcodeInput(templateSchema.type, input))
         | 
| 243 210 | 
             
                    return;
         | 
| 244 | 
            -
                const { width, height, rotate } =  | 
| 211 | 
            +
                const { width, height, rotate } = convertSchemaDimensionsToPt(templateSchema);
         | 
| 245 212 | 
             
                const opt = {
         | 
| 246 213 | 
             
                    x: calcX(templateSchema.position.x, 'left', width, width),
         | 
| 247 | 
            -
                    y: calcY(templateSchema.position.y,  | 
| 214 | 
            +
                    y: calcY(templateSchema.position.y, page.getHeight(), height),
         | 
| 248 215 | 
             
                    rotate,
         | 
| 249 216 | 
             
                    width,
         | 
| 250 217 | 
             
                    height,
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
         |