在Node.js中向现有PDF底部添加动态印章

3

我想在一个包含动态日期的现有pdf文件中添加一个盖章(只显示日期在方框内)。

我使用了“phantom HTML to PDF package”来创建pdf,现在我想以盖章的形式添加日期到pdf中。请问有什么方法或软件包可以实现这个需求吗?

我已经卡了10天了,但还是没有找到解决方案。请有经验的人帮忙指导一下。

非常感谢。


您想要在现有的PDF中添加时间戳还是创建具有此功能的新PDF?您想将此时间戳放置在哪里? - Vaviloff
@Vaviloff,谢谢你。实际上,我想要像http://66.235.194.119/pdf-test/pdf-make.png这样的PDF文件.... 我创建的PDF只剩下右侧带有矩形框中的印章,上面标注了“PAID ON”日期,而且日期应该是动态的。 - rohit13807
1个回答

2

在PhantomJS中,由于我们有page.evaluate,所以在将网页渲染成图像或PDF之前,我们可以对目标网页进行几乎任何操作。因此,让我们添加一个带有付款日期的印章:

var page = require('webpage').create();

page.open('https://www.google.co.uk', function() {

    // I'll just add jQuery for simpler stamp creation
    page.includeJs('https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js', function() {

        page.evaluate(function(){

            var date = new Date();
            var day = date.getDate();
            var month = date.getMonth() + 1;
            var year = date.getFullYear();            

            var stamp = '<div style="position:absolute; right: 30px; bottom: 50px; color: green; border: 6px solid rgba(0, 128, 0, 0.75); border-radius: 10px; font: normal 24px/30px Tahoma;  transform: rotate(-30deg); padding: 15px; text-align: center;">PAID ON<br>' + day + '/' + month + '/' +  year + '</div>';

            $("body").append(stamp);

        });

        page.render("stamp.png");

        phantom.exit();   

    });
});

结果如下:

以下为结果截图:

Result screenshot


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接