2017-01-12 2 views
0

Я генерирую html-страницы с диаграммой Google с помощью domtoimage и библиотеки jsPDF. Но его сгенерированный PDF-документ выглядит немного расплывчатым в Acrobat Reader и отлично подходит для Google Chrome. Я пытался распечатать его, и результат был таким размытым. Как повысить качество PDF?html2canvas и jsPDF генерирует pdf немного размытым

код, который генерирует PDF:

function makePDF(a, fname){ 
    var key; 
    var doc = new jsPDF('l', 'mm', 'a5', true); 
    for(key in a){ 
     doc.addImage(a[key],'PNG',0,0*key,210,148); 
     if(a.length - 1 === key*1){ 
     }else{ 
      doc.addPage(); 
     } 
    } 
    doc.save(fname + ".pdf"); 
    $(".www").css("margin","auto"); 
    a = null; 
    isdone = true; 
    ngViewLoader(false); 
} 

код, который преобразует DOM-элемент в изображении:

function build_image(dis){ 
    domtoimage.toPng(dis).then(function(dataUrl){ 
     a.push(dataUrl); 
     arr_index++; 
     if(index === a.length){ 
      makePDF(a, fname); 
     }else{ 
      if(arr_index > 13){ 
       return false; 
      } 
      build_image(arr_dis[arr_index]); 
     } 
    }).catch(function (error) { 
     console.error('oops, something went wrong!', error); 
    }); 
} 

ответ

0

@Rozig

Попробуйте использовать следующий код, приведенный ниже, вместо: domtoimage.toJpeg(dis, { quality: 1.0 })

Качество изображения в формате JPEG лучше по сравнению с выходом PNG. Но в зависимости от того, насколько велика ваша фотография, она все равно не будет полностью выглядеть острой.