java给pdf添加水印

1 篇文章 0 订阅
public static void main(String[] args) {
        addWatermark("C:\\Users\\Dash\\Desktop\\劳动合同(标准版).pdf","已作废");
    }
    // 添加水印
    //filepath:文件路径
    //data:水印文字内容
    public static void addWatermark(String filepath,String data) {
        Document pdfDocument = new Document(filepath);

        TextStamp textStamp1 = new TextStamp(data);
        textStamp1.setBackground(false);
        textStamp1.setXIndent(200);//设置位置
        textStamp1.setYIndent(300);
        textStamp1.setRotateAngle(50);//设置旋转角度
        textStamp1.getTextState().setFont(FontRepository.findFont("Arial"));
        textStamp1.getTextState().setFontSize(80.0F);//设置字体大小
        textStamp1.getTextState().setFontStyle(FontStyles.Italic);
        textStamp1.getTextState().setForegroundColor(Color.getLightGray());//设置字体颜色

        PageCollection pages = pdfDocument.getPages();
        int size = pages.size();
        for (int i = 1; i <= size; i++) {
            pages.get_Item(i).addStamp(textStamp1);
        }
        pdfDocument.save("C:\\Users\\Dash\\Desktop\\水印合同.pdf");
    }

    @Test
    public void waterMarkTest(){
        Document pdfDocument = new Document("C:\\Users\\Dash\\Desktop\\劳动合同(标准版).pdf");
        ImageStamp imageStamp = new ImageStamp("D:\\other\\image\\black.png");
        //设置水印背景的宽高,还有透明度
        imageStamp.setHeight(280);
        imageStamp.setWidth(280);
        imageStamp.setOpacity(0.2);
        imageStamp.setRotateAngle(50);
        for(Page page : pdfDocument.getPages())
        {
            //让每一页的边距为0,也可以自定义设置
            page.getPageInfo().setMargin(new MarginInfo(0,0,0,0));
//            for (double y = 0; y < page.getPageInfo().getHeight(); y = y + imageStamp.getHeight())
//            {
//                for (double x = 0; x < page.getPageInfo().getWidth(); x = x + imageStamp.getWidth())
//                {
                    //设置图片位置的x,y轴,通过双重循环来达到铺满背景的目的
                    imageStamp.setXIndent(180);
                    imageStamp.setYIndent(300);
                    //添加水印
                    page.addStamp(imageStamp);
                    // imageStamp.put(page);
//                }
//            }
        }
        //输出到磁盘
        pdfDocument.save("C:\\Users\\Dash\\Desktop\\图片水印合同.pdf");
    }

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值