Скачать PDF не отображает полный список данных из ngFor с использованием html2canvas - PullRequest
0 голосов
/ 25 апреля 2018

enter image description hereenter image description here У меня есть следующий код для загрузки элементов в ngFor в формате PDF. Мой HTML-это массив данных, отображаемых с использованием ngFor. У меня написана функция downloadPDF, которая принимает идентификатор в качестве параметра и проходит по списку массивов и должна сохранять весь цикл данных массива в формате PDF, когда я нажимаю кнопку downloadPDF. Я не s enter image description here ure, почему его сохранение только первый элемент из массива finalArList. Я приложил ответ JSON finalArList, а также файл PDF для справки. Любая помощь в этом была бы действительно полезна. Я публикую это после много попыток. Введите описание изображения здесь

downloadPDF() {
       html2canvas(document.getElementById('testDiv')).then(function(canvas) {
      const img = canvas.toDataURL('image/png');
      const doc = new jsPDF();
      doc.addImage(img, 'JPEG', 5, 5);
      doc.save('testCanvas.pdf');
      });
    }


HTML:

     <div id="testDiv" *ngFor="let finalArList of finalArList">
                            <div>
                            <h3>
                              {{finalArList.dischargeDate}} </h3>
                            <div>
                              <div>
                                <div>
                                  <label>Case number:</label>
                                </div>
                                <div>
                                  <span>{{finalArList.caseNo}}</span>
                                </div>
                              </div>
                              <div>
                                <div>
                                  <label>Patient:</label>
                                </div>
                                <div>
                                  <span>{{finalArList.patientName}}</span>
                                </div>
                              </div>
                              <div>
                                <div>
                                  <label>Hospital:</label>
                                </div>
                                <div>
                                  <span>{{finalArList.instName}}</span>
                                </div>
                              </div>
                              <div>
                                <div>
                                  <label>Payee:</label>
                                </div>
                                <div>
                                  <span></span>
                                </div>
                              </div>
                              <div>
                                <div>
                                  <label>Total Doctor Fee:</label>
                                </div>
                                <div>
                                  <span>{{finalArList.formattedTotalDrFee}}</span>
                                </div>
                              </div>
                              <div>
                                <div>
                                  <label>To be Collected:</label>
                                </div>
                                <div>
                                  <span>{{finalArList.formattedDrFeeToCollect}}</span>
                                </div>
                              </div>
                              <div>
                                <div>
                                  <label>Payor:</label>
                                </div>
                                <div>
                                  <span>{{finalArList.payor}}</span>
                                </div>
                              </div>
                              <div>
                                <div>
                                  <label>Remarks:</label>
                                </div>
                                <div>
                                  <span>{{finalArList.remark}}</span>
                                </div>  
                              </div>
                              <div>
                                <div>
                                  Paid
                                  <span></span>
                                </div>
                                <div>
                                  Unpaid
                                  <span>{{finalArList.formattedUnpaidAmounr}}</span>
                                </div>
                              </div>                          
                              <div>
                                <button>View Payment Details</button>
                              </div>
                            </div>
                          </div>
    </div>

     <button type="button"(click)="downloadPDF()">Download in PDF</button>

Когда мне это нравится, html2canvas (document.getElementById ('myTable'))). Then (function (canvas) { console.log ('canvas', + canvas); Я получаю NaN.

Однако, если я наведусь на холст, я получу список объектов, прикрепленных к снимку экрана для справки.

enter image description here

...