繁体   English   中英

Angular 6-jsPDF -autotable-PDF无法正确生成

[英]Angular 6 - jsPDF -autotable - PDF not generating properly

我不知道哪里做错了(循环)。 当前,pdf仅使用第一个对象的第一个属性生成。 标头也没有显示。 尝试在jsbpdf autoTable中加载json响应。 暂时,请考虑以下模拟数据。

至今,

test.ts

prepareDoc(){

  const header = [['Devloper ID', 'Develoepr Name', 'Department', 'Location', 'Rate(Hr)', 'Current Status', 'Contact']];

    const data = [{
          'id': 'xxx-001',
          'dev_name': 'qqqqq',
          'department': 'ABC',
          'loc': 'loc-001',
          'hourly_rate': '00',
          'current_Status': 'Open',
          'contact': '--'
        }, {
          'id': 'xxx-002',
          'dev_name': 'eeeee',
          'department': 'DEF',
          'loc': 'loc-002',
          'hourly_rate': '00',
          'current_Status': 'Engaged',
          'contact': '--'
        }, {
          'id': 'xxx-003',
          'dev_name': 'rrrrr',
          'department': 'IJK',
          'loc': 'loc-003',
          'hourly_rate': '00',
          'current_Status': 'Qued(5)',
          'contact': '--'
        }, {
          'id': 'xxx-004',
          'dev_name': 'bbbbb',
          'department': 'LMN',
          'loc': 'loc-004',
          'hourly_rate': '00',
          'current_Status': 'Vacction',
          'contact': '--'
        }];

        data.forEach(elm => {
           const temp = [elm.id, elm.dev_name, elm.department, elm.loc, elm.hourly_rate, elm.current_Status, elm.contact];
           rows.push(temp);
           console.log('Rows', rows); // showing all data
         });

        downloadPDF.autoTable(header, rows);
        downloadPDF.save('demo.pdf');
}

HTML

<button (click)='prepareDoc()'></button>

问题

PFA:无标题和其他数据的pdf生成

pdf生成witout标头和其他数据

请一些帮助我

您应该使用如下的autoTable方法:

downloadPDF.autoTable({
              head: header,
              body: rows,
            });

对我有用。 我用以下代码https://codepen.io/anon/pen/WqvqVX进行了检查:

const downloadPDF = new jsPDF();
function prepareDoc() {
  const header = [['Devloper ID', 'Develoepr Name', 'Department', 'Location', 'Rate(Hr)', 'Current Status', 'Contact']];
const rows=[];
    const data = [{
          'id': 'xxx-001',
          'dev_name': 'qqqqq',
          'department': 'ABC',
          'loc': 'loc-001',
          'hourly_rate': '00',
          'current_Status': 'Open',
          'contact': '--'
        }, {
          'id': 'xxx-002',
          'dev_name': 'eeeee',
          'department': 'DEF',
          'loc': 'loc-002',
          'hourly_rate': '00',
          'current_Status': 'Engaged',
          'contact': '--'
        }, {
          'id': 'xxx-003',
          'dev_name': 'rrrrr',
          'department': 'IJK',
          'loc': 'loc-003',
          'hourly_rate': '00',
          'current_Status': 'Qued(5)',
          'contact': '--'
        }, {
          'id': 'xxx-004',
          'dev_name': 'bbbbb',
          'department': 'LMN',
          'loc': 'loc-004',
          'hourly_rate': '00',
          'current_Status': 'Vacction',
          'contact': '--'
        }];

        data.forEach(elm => {
           const temp = [elm.id, elm.dev_name, elm.department, elm.loc, elm.hourly_rate, elm.current_Status, elm.contact];
           rows.push(temp);
           console.log('Rows', rows); // showing all data
         });

        downloadPDF.autoTable({
          head: header,
          body: rows,
        });
        downloadPDF.save('demo.pdf');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM