typescript - Convertiți HTML în PDF în Angular 10


  1. Încerc să generez un PDF din pagina mea HTML. Acest lucru funcționează bine dacă datele sunt legate de td direct din ts. Dacă încerc să leg valoarea de input, nu o citește. Mai jos este Stackblitz-ul funcțional pentru același lucru.
  2. Dacă încerc să generez PDF pentru întreaga mea pagină, structura se schimbă. Funcționează perfect doar pentru tabel. Folosesc jsPDF pentru toate cele de mai sus. Există vreo metodă prin care pot să imprim întreaga mea pagină și să generez un URI de date?

Răspuns #1

Încercă asta

html

<td id="myTd"><input [(ngModel)]="userName" type="text" 
[value]="userName"></td>

ts

export class AppComponent  {
  name = 'Angular Html To Pdf ';
  userName: string;

  @ViewChild('pdfTable', {static: false}) pdfTable: ElementRef;


  public downloadAsPDF() {
    const doc = new jsPDF();

    var x = document.getElementById("myTd");
    x.innerHTML = this.userName;

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

    const pdfTable = this.pdfTable.nativeElement;

    doc.fromHTML(pdfTable.innerHTML, 15, 15, {
      width: 190,
      'elementHandlers': specialElementHandlers
    });

   console.log(doc.output('dataurl'));
   console.log(this.userName);


  }
}

https://stackblitz.com/edit/angular-html-to-pdf-m-oeji6j?file=src%2Fapp%2Fapp.component.html