Работа над конвертером pdf
This commit is contained in:
@@ -214,6 +214,8 @@ class ConvertHtml extends ConvertBase {
|
||||
|
||||
body.section._a[0] = pars;
|
||||
|
||||
//console.log(JSON.stringify(fb2, null, 2));
|
||||
|
||||
//подозрение на чистый текст, надо разбить на параграфы
|
||||
if (isText || (buf.length > 30*1024 && pars.length < buf.length/2000)) {
|
||||
let total = 0;
|
||||
@@ -266,8 +268,11 @@ class ConvertHtml extends ConvertBase {
|
||||
l++;
|
||||
}
|
||||
|
||||
if ((j > 0 && l >= parIndent) ||
|
||||
(j < lines.length - 1 && line == '') ){
|
||||
if (j > 0 &&
|
||||
(l >= parIndent ||
|
||||
(j < lines.length - 1 && line == '')
|
||||
)
|
||||
) {
|
||||
newPar();
|
||||
}
|
||||
|
||||
|
||||
@@ -92,6 +92,9 @@ class ConvertPdf extends ConvertHtml {
|
||||
let pt = -100;
|
||||
let j = -1;
|
||||
pagelines.forEach(line => {
|
||||
//добавим закрывающий тег стиля
|
||||
line.text += line.tClose;
|
||||
|
||||
if (Math.abs(pt - line.top) > 3) {
|
||||
j++;
|
||||
pl[j] = line;
|
||||
@@ -144,6 +147,8 @@ class ConvertPdf extends ConvertHtml {
|
||||
left: parseInt((attrs.hpos && attrs.hpos.value ? attrs.hpos.value : null), 10),
|
||||
width: parseInt((attrs.width && attrs.width.value ? attrs.width.value : null), 10),
|
||||
height: parseInt((attrs.height && attrs.height.value ? attrs.height.value : null), 10),
|
||||
tOpen: '',
|
||||
tClose: '',
|
||||
};
|
||||
|
||||
if (line.width != 0 || line.height != 0) {
|
||||
@@ -167,7 +172,13 @@ class ConvertPdf extends ConvertHtml {
|
||||
tClose = fonts[fontId].tClose;
|
||||
}
|
||||
|
||||
line.text += `${tOpen}${attrs.content.value}${tClose} `;
|
||||
if (line.tOpen != tOpen) {
|
||||
line.text += line.tClose + tOpen;
|
||||
line.tOpen = tOpen;
|
||||
line.tClose = tClose;
|
||||
}
|
||||
|
||||
line.text += `${line.text.length ? ' ' : ''}${attrs.content.value}`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user