【问题标题】:pdfmake: How to set the height for all rows?pdfmake:如何设置所有行的高度?
【发布时间】:2023-01-12 04:13:03
【问题描述】:

我想为表格中的所有行设置行高。我目前正在这样指定我的样式:

table: {
    widths: ['33%', '34%', '33%'],
    heights: [40, 40],
    headerRows: 1,

如果我有已知数量的行,那效果很好,在这种情况下,第一行和表头的高度为 40。下面的所有内容都会回落到默认高度,因为我没有指定任何不同的东西。

但是,如果我有一个包含很多行的表,或者在我的例子中是一个行数是动态的表,那么将每个高度写入对象是一项繁琐的任务。

有没有更好的方法将样式应用于所有行?

【问题讨论】:

    标签: javascript pdf-generation javascript-objects pdfmake


    【解决方案1】:

    您可以通过为“高度”分配一个数字而不是数组来为所有行设置相同的高度:

    table: {
      widths: ['33%', '34%', '33%'],
      heights: 40, 
      headerRows: 1,
      body: [...]
    }
    

    或者,您可以在 JavaScript 中动态生成一个长度合适的数组。这比较麻烦,但它允许您以编程方式为不同的行指定不同的高度。

    查看 playground here 以获取更多示例。

    【讨论】:

      【解决方案2】:

      您可以在顶部和底部设置填充。它非常方便,您还可以为特定行设置填充。

      table: {
          widths: ['33%', '34%', '33%'],
          headerRows: 1,
          body: [...]
      }, 
      layout: {
          paddingTop: function (i, node) {
            return 5;
            //return (i === node.table.widths.length - 1) ? 5 : 5;
          },
          paddingBottom: function (i, node) {
            return 5;
            //return (i === node.table.widths.length - 1) ? 5 : 5;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        相关资源
        最近更新 更多