使用pdfmake的水印

dav*_*ark 4 javascript watermark pdfmake

在Javascript中,我使用pdfmake生成pdf文档。我从github上读到它支持水印,以下是我的用法,但它给了我一些随机和奇怪的字符。无论水印中提供了什么文本,这些字符都是相同的。有人知道吗?

pdfmake

在此处输入图片说明

在此处输入图片说明

Man*_*ore 5

解

例:

var docDefinition = {
        //watermark: 'test watermark',
        watermark: {text: 'test watermark', color: 'blue', opacity: 0.3, bold: true, italics: false},
        content: [
            'Test page of watermark.\n\n',
        ]
    };
Run Code Online (Sandbox Code Playgroud)


dri*_*ger 3

我不能说我有解决这个问题的方法,但我已经让它对我有用了。似乎renderWatermark()第 465 行或 pdfmake.js 附近的函数在编码字体时出现问题。

var encoded = watermark.font.encode(watermark.text);返回一个空字符串,并且不具有该函数稍后查找的扩展属性。

通过改变

pdfKitDoc.addContent('/' + encoded.fontId + ' ' + watermark.size.fontSize + ' Tf');
Run Code Online (Sandbox Code Playgroud)

到

pdfKitDoc.addContent('/ ' + watermark.size.fontSize + ' Tf');
Run Code Online (Sandbox Code Playgroud)

和

pdfKitDoc.addContent('<' + encoded.encodedText + '> Tj');
Run Code Online (Sandbox Code Playgroud)

到

pdfKitDoc.addContent('(' + watermark.text + ') Tj');
Run Code Online (Sandbox Code Playgroud)

我能够让水印显示在正确的位置,尽管使用的是通用字体而不是我选择的任何字体。