примеру в доке делаю
const JsBarcode = require('jsbarcode');
const Canvas = require('canvas');
...
let canvas = new Canvas();
await JsBarcode(canvas, "1234567890128", {format: "EAN13"});
canvas.toDataURL();
и в терминале происходит хаос из бесконечных байт, кто сталкивался с такой проблемой? При записи в png файл канваса такая же дичь
Похоже что ты буфер пытаешься сериализовать. А нужно сохранить его в файл.
байты начинают лезть на этой строке await JsBarcode(canvas, "1234567890128", {format: "EAN13"}); в принципе canvas.toDataURL() не причем
Не сам же он его выводит в консоль? Посмотри где ещё ты в консоль выводишь что-то.
В таком случае не знаю, пример из доки работает корректно: const JsBarcode = require("jsbarcode"); const { Canvas } = require("canvas"); const canvas = new Canvas(); JsBarcode(canvas, "Hello", {}); console.log(canvas.toDataURL()); // data:image/png;base64,iVBORw0KGgoAAAA
очень странно почему у меня не работает
а стоп, эта строка имеет значение const { Canvas } = require("canvas");? в доке const Canvas = require("canvas");
Если бы у тебя в этом была проблема была бы ошибка что Canvas не является конструктором. У них устаревшая инфа в доке наверное.
Раз у тебя работал их пример, возможно у тебя устаревшая версия либы. Попробуй обновить её.
версия последняя, по твоему примеру и у меня заработало, видимо доку они не обновляли давно
Обсуждают сегодня