मुझे अपने कोड के साथ कोई समस्या है। मेरी आवश्यकता है कि मैं एचटीएमएल को पीडीएफ में डाउनलोड करना चाहता हूं। अब, मैं <p> टैग आदि जैसे टेक्स्ट डाउनलोड कर सकता हूं। लेकिन, मैं पीडीएफ के रूप में इमेज और कैनवास टैग डाउनलोड नहीं कर सका।

यह मेरा dashboard.component.html है

<div *ngIf="perAnaNoData == false" >
    <p id="content" #content style="text-align: center;font-size: 16px;" *ngIf="performanceAnalysisDrill == false">Performance Analysis (Recent 5 Test)</p>
    <img src="../../../assets/img/drillImage.png" *ngIf="performanceAnalysisDrill == false" style="height: 20px;width: auto;float: right;margin-right: 100px;" tooltip="Click on data labels to drilldown">
       <div style="height: 180px;width:400px;margin-left: 5%;"  *ngIf="performanceAnalysisDrill == false">
          <div style="display: block;">
               <canvas baseChart height="180" width="400"
                    [datasets]="performanceAnalysisBarData"
                    [labels]="performanceAnalysisBarLabels"
                    [options]="performanceAnalysisBarOptions"
                    [colors]="performanceAnalysisColors"
                    [legend]="performanceAnalysisBarLegend"
                    [chartType]="performanceAnalysisBarType"
                    (chartHover)="chartHovered($event)"
                    (chartClick)="performanceAnalysisDrillClicked($event)">
               </canvas>
           </div>
       </div>
</div>


<button (click)="downloadPDF()">Export to PDF</button>

और यहाँ मेरी dashboard.componet.ts फ़ाइल है

import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';

....
....
import * as jsPDF from 'jspdf';

export class DashboardComponent implements OnInit,OnDestroy  {
  @ViewChild('content') content:ElementRef;

  public downloadPDF(){

     let doc = new jsPDF();

     let specialElementHandlers = {
          '#editor': function (element, renderer){
           return true;
           }
     };

  let content = this.content.nativeElement;

  doc.fromHTML(content.innerHTML,15,15, {
     'width':190,
     'elementHandlers': specialElementHandlers
  },
  function(downloadAsPDF){doc.save('saveInCallBack.pdf');});

  }
}

मुझे नहीं पता कि इसे डाउनलोड करने का समाधान कैसे खोजा जाए। कोई मुझे मदद कर सकता है...

0
Sakkeer A 3 पद 2018, 11:11

1 उत्तर

सबसे बढ़िया उत्तर

मुझे समाधान मिल गया है,

  public downloadPDF(){
       let pdf = new jsPDF();
       let options = {
          pagesplit: true
       };
       pdf.addHTML(this.content.nativeElement, 0, 0, options, () => {
          pdf.save("test.pdf");
       });

  }
1
Sakkeer A 3 पद 2018, 11:07