UNPKG

codify-node

Version:

Generates 1D, 2D, and composite barcodes in png, svg, or eps formats.

82 lines 2.88 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createFile = exports.createStream = void 0; const fs_1 = __importDefault(require("fs")); const binary_1 = __importDefault(require("./lib/binary")); const png_1 = __importDefault(require("./lib/png")); const EncodingMode_1 = __importDefault(require("./types/enums/EncodingMode")); const OutputOption_1 = __importDefault(require("./types/enums/OutputOption")); const OutputType_1 = __importDefault(require("./types/enums/OutputType")); const defaultConfig = { symbology: 20, height: 50, whitespaceWidth: 0, borderWidth: 0, outputOptions: OutputOption_1.default.BARCODE_NO_ASCII, foregroundColor: '000000FF', backgroundColor: 'FFFFFFFF', scale: 1.0, option1: -1, option2: -1, option3: -1, showHumanReadableText: true, encoding: EncodingMode_1.default.DATA_MODE, eci: 0, primary: '', rotation: 0, dotSize: 0.8 }; async function createStream(config, barcodeData, outputType = OutputType_1.default.PNG) { const symbol = { ...defaultConfig, ...config, fileName: `out.${outputType}` }; const res = await binary_1.default.invoke(symbol, barcodeData, outputType); if (outputType === OutputType_1.default.PNG) { const image = png_1.default.render(res.bitmap, res.width, res.height, symbol.backgroundColor, symbol.foregroundColor); const base64Data = await png_1.default.blobToBase64(image); return { data: base64Data, width: res.width, height: res.height, message: res.message }; } return { data: res.encodedData, width: res.width, height: res.height, message: res.message }; } exports.createStream = createStream; async function createFile(config, barcodeData) { const symbol = { ...defaultConfig, ...config }; if (!symbol.fileName) { return Promise.reject('fileName is required.'); } const outputType = binary_1.default.getOutputType(symbol.fileName); const res = await binary_1.default.invoke(symbol, barcodeData, outputType); if (outputType === OutputType_1.default.PNG) { const image = png_1.default.render(res.bitmap, res.width, res.height, symbol.backgroundColor, symbol.foregroundColor); const buffer = png_1.default.getBuffer(image); fs_1.default.writeFileSync(symbol.fileName, buffer); } else { fs_1.default.writeFileSync(symbol.fileName, res.encodedData); } return { width: res.width, height: res.height, message: res.message }; } exports.createFile = createFile; //# sourceMappingURL=main.js.map