Как экспортировать PDF в угловой? - PullRequest
0 голосов
/ 30 мая 2019

Я использую angular7.Я хотел бы загрузить данные в списке в формате PDF.Я пытался сделать это следующим образом, но это не так.Он печатает экран консоли, как я хочу, но не загружается.npm с загрузкой jsPDF и jspdf.

.ts код:


import { DepartmanModal} from 'app/core/departman/departman.model';
import * as jsPDF from 'jspdf';
import 'jspdf-autotable';

export class HomeComponent implements OnInit {
    departmanList: Array<DepartmanModal>;
    doc: any;
    col = ['Details', 'Values'];
    rows: Array<any> = new Array<any>();
    temp: any;

  constructor( private departmanService: DepartmanService) {
        this.departman();
    }
    departman() {
        this.departmanService.getAll().subscribe(data => {
            this.departmanList= data.body;
        });
    }

convert() {
        this.doc = new jsPDF();
        this.departmanList.forEach(element => {
            this.temp = [element.id , element.name];
            this.rows.push(this.temp);
        });
        console.log(this.doc);
        this.doc.autoTable(this.col , this.rows);
        console.log( this.doc.autoTable(this.col , this.rows)); //  It prints the console screen as I want, but it doesn't download.
        this.doc.save('home.pdf');
    }
}

.html код:

 <div (click)="convert()" class="example">
              <span class="iconPDF"> Click for Download</span>
     </div>

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

Попробуйте изменить свой код на это, чтобы увидеть, работает ли он или нет

 import jsPDF from 'jspdf';

 let doc = new jsPDF();
 this.departmanList.forEach(element => {
    this.temp = [element.id , element.name];
    this.rows.push(this.temp);
 });

 doc.autoTable(this.col , this.rows);
 doc.save('home.pdf');

Вы можете найти пример здесь

0 голосов
/ 30 мая 2019

https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_a_download

Добавить атрибут загрузки вместе с pdf.

...