JsPDF в Angular 5 метод addImage () - PullRequest
       7

JsPDF в Angular 5 метод addImage ()

0 голосов
/ 04 октября 2018

Я использую библиотеку jspdf для преобразования моего html в pdf

html:

 <div *ngFor="let person of people"
             {{person.name}}
            <button (click) = "generatePdf()"></button>
         </div>

         <div id="contentForPdf" style="display:none">
            <div *ngFor="let person of people">
                {{person.address}}
            </div>
     </div>

в компоненте:

public generatePdf():void{
              const data = document.getElementById('contentForPDF');
                 html2canvas(data).then(canvas => {
                   const imgWidth = 300;
                   const pageHeight = 295;
                   const imgHeight = (canvas.height * imgWidth) / canvas.width;
                   const heightLeft = imgHeight;
                   const contentDataURL = canvas.toDataURL('image/png');
                   const pdf = new jsPDF('p', 'mm', 'a4');
                   const position = 0;
                   pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth,imgHeight);
                   pdf.save(name);
                   }

и из-за отображения нет addImageметод выдаёт мне ошибку как:

  1. Ошибка: Uncaught (в обещании): Ошибка: addImage не поддерживает файлы типа «НЕИЗВЕСТНО», пожалуйста, убедитесь, что добавлен плагин для поддержки «НЕИЗВЕСТНО».Ошибка: addImage не поддерживает файлы типа «НЕИЗВЕСТНО», убедитесь, что добавлен плагин для поддержки «НЕИЗВЕСТНО».

1 Ответ

0 голосов
/ 04 октября 2018

Вы можете сделать что-то вроде этого:

 <script type="text/javascript" src="libs/png_support/zlib.js"></script>
    <script type="text/javascript" src="libs/png_support/png.js"></script>
    <script type="text/javascript" src="jspdf.plugin.addimage.js"></script>
    <script type="text/javascript" src="jspdf.plugin.png_support.js"></script>
    <script type="text/javascript" src="jspdf.js"></script>

TS

   const doc = new jsPDF();
   const imgData = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABy...
    doc.addImage(imgData, 'PNG', 50, 50, 50, 50);
    doc.output('pdf-img');
...