如何在pdf make中的表格中将列对齐

时间:2017-10-23 08:55:24

标签: html cordova pdf ionic-framework

我正在使用pdfmake创建pdf工作正常我使用样式将文本对齐到右边这也很好但是我想将表中的一个特定列对齐以对齐但是它不能如果我给出整个表而不是单列的对齐方式可以做任何人都能告诉我如何在表格中将特定列对齐。

 var previousbillitems = invoice.Items.map(function (item) {
return [item.Date, item.Description, item.Amount];
});

{
        style: 'itemsTable',
        table: {
          widths: [75, '*', 75],
          body: [
            [
              { text: $translate.instant('{{"billdate_message" | translate}}'), style: 'itemsTableHeader' },
              { text: $translate.instant('{{"description_message" | translate}}'), style: 'itemsTableHeader' },
              { text: $translate.instant('{{"amount_message" | translate}}'), style: 'itemsTableHeader' },
            ]
          ].concat(previousbillitems)
        },
      },

它的风格:

itemsTable: {
        alignment: 'center',
        margin: [0, 5, 0, 15]
      },

预期输出如下:

Expected Output

2 个答案:

答案 0 :(得分:1)

通过更改这样的代码,我得到了正确对齐数据的解决方案

 var previousbillitems = invoice.Items.map(function (item) {
return [
   {text: item.Date, alignment: 'center'},
   {text: item.Description, alignment: 'center'},
   {text: item.Amount, alignment: 'right'}
  ];
});
 {
    style: 'itemsTable',
    table: {
      widths: [75, '*', 75],
      body: [
        [
          { text: $translate.instant('{{"billdate_message" | translate}}'), style: 'itemsTableHeader' },
          { text: $translate.instant('{{"description_message" | translate}}'), style: 'itemsTableHeader' },
          { text: $translate.instant('{{"amount_message" | translate}}'), style: 'itemsTableHeader' },
        ]
      ].concat(previousbillitems)
    },
  },

答案 1 :(得分:0)

像这样对我有用

   var previousbillitems = invoice.Items.map(function (item) {
return [
   {text: item.Date, style: 'cellCenter'},
   {text: item.Description, style: 'cellCenter'},
   {text: item.Amount, style: 'cellRight'},
  ];
});
 {
    style: 'itemsTable',
    table: {
      widths: [75, '*', 75],
      body: [
        [
          { text: $translate.instant('{{"billdate_message" | translate}}'), style: 'itemsTableHeader' },
          { text: $translate.instant('{{"description_message" | translate}}'), style: 'itemsTableHeader' },
          { text: $translate.instant('{{"amount_message" | translate}}'), style: 'itemsTableHeader' },
        ]
      ].concat(previousbillitems)
    },
  },

样式

styles:{
    cellLeft: {
      //  fontSize: 13,
       // fillColor : 'gray',
        alignment : 'left'
      },
      cellCenter: {
        //fontSize: 13,
       // fillColor : 'gray',
        alignment : 'center'
      },
      cellRight: {
       // fontSize: 13,
       // fillColor : 'gray',
        alignment : 'right'
      }
}