var data = [
{id: 1, name: 'Категория 0-1', parent: 0},
{id: 2, name: 'Категория 0-2', parent: 0},
{id: 3, name: 'Категория 0-3', parent: 0},
{id: 4, name: 'Категория 1-1', parent: 1},
{id: 5, name: 'Категория 1-2', parent: 1},
];
var getChilds = (data,par)=>data.filter((el)=>el.parent == par).map(el=>{el["childs"]=getChilds(data,el.id);return el;});
var tree = getChilds(data,0)
[
{
"id": 1,
"name": "Категория 0-1",
"parent": 0,
"childs": [
{
"id": 4,
"name": "Категория 1-1",
"parent": 1,
"childs": []
},
{
"id": 5,
"name": "Категория 1-2",
"parent": 1,
"childs": []
}
]
},
{
"id": 2,
"name": "Категория 0-2",
"parent": 0,
"childs": []
},
{
"id": 3,
"name": "Категория 0-3",
"parent": 0,
"childs": []
}
]
var doc = new jsPDF({
orientation: 'p',
unit: 'mm',
format: 'a4'
})
var drawText = (doc,x,y,text,size)=>{
doc.setLineDash([0.2,0.3], 1);
doc.setLineWidth(0.1);
let w=text.length*size/3.7,h=size/2.6;
doc.line(x, y, x+w, y);
doc.line(x, y+h, x+w, y+h);
doc.line(x, y, x, y+h);
doc.setFont('courier');
doc.setFontType('normal');
doc.setFontSize(size);
text.split('').forEach((t,i)=>{doc.text(x+size/26+i*size/3.7, y+h-size/12,t);doc.line(x+(i+1)*size/3.7, y, x+(i+1)*size/3.7, y+h)})
};
drawText(doc,5,5,'1234567',50);
drawText(doc,5,30,'1234567',26);