Angular 9 Проблема генерации PDF из класса div - PullRequest
0 голосов
/ 19 февраля 2020

Я работаю над приложением счета-фактуры. Я сгенерировал счет в классе DIV HTML. Я хочу экспортировать этот класс div в PDF

Когда я открываю свой PDF, у меня появляется белая страница, и файл PDF продолжает загружаться: введите описание изображения здесь

Вот снимок экрана: at

Вот мой код: component.show.ts

        import { Component, OnInit } from '@angular/core';
    import { BasicRequestsService } from '../../../../../core/services/basic-requests.service';
    import { ActivatedRoute } from '@angular/router';
    import { Observable, forkJoin } from 'rxjs';
    import { FormsModule, FormBuilder } from '@angular/forms';
    import { DatePipe } from '@angular/common';
    import * as jsPDF from 'jspdf';
    import { ElementRef, ViewChild} from "@angular/core";
    import { ToastsService } from '../../../../../core/services/toasts.service';
    import { Pipe, PipeTransform } from '@angular/core';


@Component({
      selector: 'app-tools-billing-invoices-show',
      templateUrl: './show.component.html',
      styleUrls: ['./show.component.scss', '../invoices.component.scss']
    })


export class InvoicesShowComponent implements OnInit {
      endpoint = '/tools/billing/billers/';
      billerId;
      billerData;
      invoiceId;
      invoice;
      invoiceUpdated;
      invoiceLines;
      invoiceForm;
      clientData;
      symbol;
      invoiceTotal = {taxExcluded: 0, tax: 0, taxIncluded: 0};
      date: Date;
      constructor(
        private basicRequestsService: BasicRequestsService,
        private route: ActivatedRoute,
        private formBuilder: FormBuilder,
        private toasts: ToastsService,
        ) { }


createPdf(): void {
        var doc = new jsPDF();
        var elementHandler = {
          '#ignorePDF': function (element, renderer) {
            return true;
          }
        };
        var source = window.document.getElementsByTagName("invoice-preview-box")[0];
        doc.fromHTML(
          source,
          15,
          15,
          {
            'width': 180,'elementHandlers': elementHandler
          });
        doc.output("dataurlnewwindow");
      }
    }

Вот мой HTML

<button class="dropdown-item" (click)="createPdf()">Generate PDF</button>  

<div class="col-xl-9 invoice-preview-box" tag="invoice-preview-box" id="invoice-preview-box"> Hello World, here is MY PDF </div>

Можете ли вы увидеть что случилось в моем коде случайно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...