codify-node
Version:
Generates 1D, 2D, and composite barcodes in png, svg, or eps formats.
82 lines • 2.88 kB
JavaScript
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
;