Исправления багов
This commit is contained in:
@@ -86,13 +86,21 @@ class ConvertDjvu extends ConvertJpegPng {
|
|||||||
|
|
||||||
//схема документа (outline)
|
//схема документа (outline)
|
||||||
const djvusedResult = await this.execConverter(djvusedPath, ['-u', '-e', 'print-outline', inputFiles.sourceFile], null, abort);
|
const djvusedResult = await this.execConverter(djvusedPath, ['-u', '-e', 'print-outline', inputFiles.sourceFile], null, abort);
|
||||||
|
|
||||||
const outline = [];
|
const outline = [];
|
||||||
const lines = djvusedResult.stdout.match(/\(".*"\s*?"#\d+".*?\)/g);
|
const lines = djvusedResult.stdout.match(/\(\s*".*"\s*?"#\d+"/g);
|
||||||
if (lines) {
|
if (lines) {
|
||||||
lines.forEach(l => {
|
lines.forEach(l => {
|
||||||
const m = l.match(/"(.*)"\s*?"#(\d+)"/);
|
const m = l.match(/"(.*)"\s*?"#(\d+)"/);
|
||||||
if (m) {
|
if (m) {
|
||||||
outline[m[2]] = m[1];
|
const pageNum = m[2];
|
||||||
|
let s = outline[pageNum];
|
||||||
|
if (!s)
|
||||||
|
s = m[1].trim();
|
||||||
|
else
|
||||||
|
s += `${(s[s.length - 1] != '.' ? '.' : '')} ${m[1].trim()}`;
|
||||||
|
|
||||||
|
outline[pageNum] = s;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,8 +82,10 @@ class ConvertJpegPng extends ConvertBase {
|
|||||||
binary.push(img);
|
binary.push(img);
|
||||||
|
|
||||||
const attrs = {'l:href': `#${image.name}`};
|
const attrs = {'l:href': `#${image.name}`};
|
||||||
if (image.alt)
|
if (image.alt) {
|
||||||
|
image.alt = (image.alt.length > 256 ? image.alt.substring(0, 256) : image.alt);
|
||||||
attrs.alt = image.alt;
|
attrs.alt = image.alt;
|
||||||
|
}
|
||||||
|
|
||||||
pars.push({_n: 'p', _t: ''});
|
pars.push({_n: 'p', _t: ''});
|
||||||
pars.push({_n: 'image', _attrs: attrs});
|
pars.push({_n: 'image', _attrs: attrs});
|
||||||
|
|||||||
Reference in New Issue
Block a user