在Angular 10中将HTML转换为PDF

3
  1. 我正在尝试从我的HTML页面生成PDF。如果数据直接从ts绑定到td,那么这将起作用。但是如果我尝试将值绑定到input,则无法读取该值。以下是相同的工作Stackblitz
  2. 如果我尝试生成完整页面的PDF,则结构会更改。仅对表格有效。我使用jsPDF完成了所有这些操作。是否有任何方法可以打印我的整个页面并生成数据URI?
1个回答

0
尝试一下

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


它不是这样工作的。https://stackblitz.com/edit/angular-html-to-pdf-m-fzz284 - Sai Manoj
@Sai Manoj,你需要在HTML输入中添加userName而不是name。请查看答案。 - Janitha Rasanga
<td id="myTd"><input [(ngModel)]="userName" type="text" [value]="userName"></td> - Janitha Rasanga
明白了,但如果我的页面有大量数据需要绑定,我需要使用n个ngModel。正在寻找更好的方法。而且不知道为什么输入框的行为会变得奇怪。 - Sai Manoj
让我们在聊天中继续这个讨论 - Janitha Rasanga
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接