in src/layer/lib/crawler.js [67:103]
async function readlines(buffer, xwidth) {
return new Promise((resolve, reject) => {
var pdftxt = new Array();
var pg = 0;
new pdfreader.PdfReader().parseBuffer(buffer, function(err, item) {
if (err) console.log("pdf reader error: " + err);
else if (!item) {
pdftxt.forEach(function(a, idx) {
pdftxt[idx].forEach(function(v, i) {
pdftxt[idx][i].splice(1, 2);
});
});
resolve(pdftxt);
} else if (item && item.page) {
pg = item.page - 1;
pdftxt[pg] = [];
} else if (item.text) {
var t = 0;
var sp = "";
pdftxt[pg].forEach(function(val, idx) {
if (val[1] == item.y) {
if (xwidth && item.x - val[2] > xwidth) {
sp += " ";
} else {
sp = "";
}
pdftxt[pg][idx][0] += sp + item.text;
t = 1;
}
});
if (t == 0) {
pdftxt[pg].push([item.text, item.y, item.x]);
}
}
});
});
}