diff --git a/server/core/Reader/BookConverter/ConvertDjvu.js b/server/core/Reader/BookConverter/ConvertDjvu.js index 3ee72b3b..f989cbd7 100644 --- a/server/core/Reader/BookConverter/ConvertDjvu.js +++ b/server/core/Reader/BookConverter/ConvertDjvu.js @@ -86,13 +86,21 @@ class ConvertDjvu extends ConvertJpegPng { //схема документа (outline) const djvusedResult = await this.execConverter(djvusedPath, ['-u', '-e', 'print-outline', inputFiles.sourceFile], null, abort); + const outline = []; - const lines = djvusedResult.stdout.match(/\(".*"\s*?"#\d+".*?\)/g); + const lines = djvusedResult.stdout.match(/\(\s*".*"\s*?"#\d+"/g); if (lines) { lines.forEach(l => { const m = l.match(/"(.*)"\s*?"#(\d+)"/); 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; } }); } diff --git a/server/core/Reader/BookConverter/ConvertJpegPng.js b/server/core/Reader/BookConverter/ConvertJpegPng.js index dda3a943..8dc93ea8 100644 --- a/server/core/Reader/BookConverter/ConvertJpegPng.js +++ b/server/core/Reader/BookConverter/ConvertJpegPng.js @@ -82,8 +82,10 @@ class ConvertJpegPng extends ConvertBase { binary.push(img); 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; + } pars.push({_n: 'p', _t: ''}); pars.push({_n: 'image', _attrs: attrs});