Add border arround a paragraph with pdfmake

笑着哭i 提交于 2019-12-06 03:50:53

I have not gotten apply borders to a paragraph. I think the only option you have is to use tables.

Below this lines I have attached a simple code that you can paste directly at pdfmake playground in order to try it.

var dd = {
    content: [
        {
            style: 'tableExample',
            color: '#555',
            table: {
                body: [
                    [
                        {
                             text : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam a pharetra odio.\n\nVestibulum erat mauris, sodales et consequat sit amet, ultricies vitae erat. Etiam feugiat orci justo, ultrices malesuada dui ornare ac.'
                        } 
                    ],
                    [
                        {
                             text : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam a pharetra odio.\n\nVestibulum erat mauris, sodales et consequat sit amet, ultricies vitae erat. Etiam feugiat orci justo, ultrices malesuada dui ornare ac.'
                        } 
                    ],
                    [
                        {
                             text : 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam a pharetra odio.\n\nVestibulum erat mauris, sodales et consequat sit amet, ultricies vitae erat. Etiam feugiat orci justo, ultrices malesuada dui ornare ac.'
                        } 
                    ],
                ]
            },
            layout: {
                //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) ? 'red' : 'blue';
                },
                vLineColor: function(i, node) {
                    return (i === 0 || i === node.table.widths.length) ? 'red' : 'blue';
                },
                paddingLeft: function(i, node) { return 40; },
                paddingRight: function(i, node) { return 40; },
                paddingTop: function(i, node) { return 20; },
                paddingBottom: function(i, node) { return 20; }
            }
        }
    ],

    defaultStyle: {
        alignment: 'justify'
    }

}

Other option is to use a canvas to draw a lines like a borders at the position of your text:

{
    canvas: [
        { type: 'line', x1: 390, y1: -80, x2: 510, y2: -80, lineWidth: 1 }, //Up line
        { type: 'line', x1: 390, y1: -35, x2: 510, y2: -35, lineWidth: 1 }, //Bottom line
        { type: 'line', x1: 390, y1: -80, x2: 390, y2: -35, lineWidth: 1 }, //Left line
        { type: 'line', x1: 510, y1: -80, x2: 510, y2: -35, lineWidth: 1 }, //Rigth line
    ]
},

This draw a squere in rigth top position of PDF. The adventage is that you can use some sytle like: lineWidth

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!