java pdf 水印_Java 添加PDF文本水印

public static void main(String[] args) {

//创建PdfDocument类的对象

PdfDocument pdf = new PdfDocument();

//加载测试文档

pdf.loadFromFile("test.pdf");

//获取文档第1页

PdfPageBase page = pdf.getPages().get(0);

//调用insertWatermark()方法插入文本水印

insertWatermark(page, "TOP SECRET");

//保存文档到指定文件夹

pdf.saveToFile("out/textWaterMark.pdf");

}

static void insertWatermark(PdfPageBase page, String watermark) {

Dimension2D dimension2D = new Dimension();

dimension2D.setSize(page.getCanvas().getClientSize().getWidth() / 2, page.getCanvas().getClientSize().getHeight() / 2);

PdfTilingBrush brush = new PdfTilingBrush(dimension2D);

brush.getGraphics().setTransparency(0.4F);

brush.getGraphics().save();

brush.getGraphics().translateTransform((float) brush.getSize().getWidth() / 2, (float) brush.getSize().getHeight() / 2);

brush.getGraphics().rotateTransform(-45);

brush.getGraphics().drawString(watermark, new PdfFont(PdfFontFamily.Helvetica, 30), PdfBrushes.getViolet(), 0, 0, new PdfStringFormat(PdfTextAlignment.Center));

brush.getGraphics().restore();

brush.getGraphics().setTransparency(1);

Rectangle2D loRect = new Rectangle2D.Float();

loRect.setFrame(new Point2D.Float(0, 0), page.getCanvas().getClientSize());

page.getCanvas().drawRectangle(brush, loRect);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值