无论如何我可以在pdfmake文件中添加页面边框吗?

时间:2018-05-08 06:43:38

标签: javascript pdfmake

我只是想知道我是否可以在pdfmake生成的PDF文件中添加页面边框。

2 个答案:

答案 0 :(得分:1)

这可能不是最好的方法,但您可以使用表格来包装整个文档,并设置其边框。

let docDefinition = {
  content: [
    {
      table: {
        body: [[{
          stack: [
            //you content goes here
          ]
        }]]
      },
      layout: {
        //set custom borders size and color
        hLineWidth: function (i, node) {
          return (i === 0 || i === node.table.body.length) ? 2 : 1;
        },
        vLineWidth: function (i, node) {
          return (i === 0 || i === node.table.widths.length) ? 2 : 1;
        },
        hLineColor: function (i, node) {
          return (i === 0 || i === node.table.body.length) ? 'black' : 'gray';
        },
        vLineColor: function (i, node) {
          return (i === 0 || i === node.table.widths.length) ? 'black' : 'gray';
        }
      }
    }
  ]
}

pdfMake.createPdf(docDefinition).open();

答案 1 :(得分:1)

如果您需要为每个页面设置边框,您可以这样做:

var dd = {
    background: function (currentPage, pageSize) {
        return [
            {
                canvas: [
                    { type: 'line', x1: 5, y1: 5, x2: 590, y2: 5, lineWidth: 1 }, //Up line
                    { type: 'line', x1: 5, y1: 5, x2: 5, y2: 835, lineWidth: 1 }, //Left line
                    { type: 'line', x1: 5, y1: 835, x2: 590, y2: 835, lineWidth: 1 }, //Bottom line
                    { type: 'line', x1: 590, y1: 5, x2: 590, y2: 835, lineWidth: 1 }, //Rigth line
                ]

            }
        ]
    },
    content: []
}

你可以在这里试一试http://pdfmake.org/playground.html