Как установить размер шрифта водяного знака в библиотеке javascript pdfmake

Я использую pdfmake для создания pdf в angular js.

Я пытаюсь уменьшить/установить тот же размер шрифта водяного знака, который должен отображаться в pdf, в соответствии с динамическим текстом.

Я попробовал приведенную ниже конфигурацию в игровой площадке.

var dd = {
    content: [
        'First paragraph',
        'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
    ],
    watermark:{
        text:"Niklesh Raut",
         header: {
       fontSize: 22,
       bold: true
     },
     anotherStyle: {
       italic: true,
       alignment: 'right'
     }

    }

}

Также пробовал, как показано ниже.

var dd = {
    content: [
        'First paragraph',
        'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
    ],
    watermark:{
        text:"Niklesh Raut",
        styles: {
           fontSize: 22,
           bold: true
        }

    }

}

Но не повезло.

Вопрос: как установить/уменьшить размер шрифта для водяного знака?


person Niklesh Raut    schedule 31.08.2018    source источник


Ответы (2)


pdfmake водяной знак подходит для страницы, даже если длина символа равна 1, поэтому добавлены пробелы, чтобы сделать слово со словом фиксированной длины, с кодом ниже

var stars = '                                   ';
    var name = "Niklesh Raut";
    var center = parseInt(stars.length/2) - parseInt(name.length/2);
    var starsArr = stars.split("");
    var nameArr = name.split("");
    for(let i=0;i<name.length;i++){
    	starsArr[center+i] = nameArr[i];
    }
    console.log('|'+starsArr.join("")+'|');

И используйте это для водяного знака

var dd = {
    content: [
        'First paragraph',
        'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
    ],
    watermark:{
        text:'              Niklesh Raut              ',
    }

}
person Niklesh Raut    schedule 01.09.2018

Привет. Ниже приведен образец из https://itnext.io/angularjs-exporting-to-pdf-using-pdfmake-js-library-49f3afec97ef

    var docDefinition = {
              header: function() {
                    return [
                        {
                            style: 'table',
                            margin: [62,35,62,35],
                            table: {
                                widths: ['*', '*'],
                                headerRows: 0,
                                body: [
                                    [
                                        {text: 'Booking Summary', style: 'topHeader', alignment: 'left'},
                                        {
                                            'base64-image-string-goes-here',
                                            width: 150,
                                            alignment: 'right'
                                        }
                                    ]
                                ]
                            },
                            layout: 'noBorders'
                        }
                    ]
                },
                footer: function(currentPage, pageCount) { 
                    return [
                        {text: currentPage.toString() + ' of ' + pageCount, alignment: 'center', style: 'footer'}
                    ]
                },
                content: [],
                pageSize: 'A4',
                pageMargins: [62,80,62,80],
                styles: {
                    topHeader: {
                        fontSize: 20,
                        bold: true,
                        margin: [0, 6, 0, 30],
                        alignment: 'left'
                    },
                    table: {
                        fontSize: 8,
                        alignment: 'left',
                        color: 'black',
                        margin: [0, 5, 0, 15]
                    },
                    header: {       
                        fontSize: 16,
                        bold: true,
                        margin: [0, 10, 0, 15],
                        alignment: 'left'
                    },
                    footer: {
                        fontSize: 8,
                        margin: [0, 25, 0, 17],
                        alignment: 'center'
                    }
                }
            };
          pdfMake.createPdf(docDefinition).download();
    };
person BharathwajRK    schedule 31.08.2018