1.添加單個圖像水印效果:
導入com . spire . pdf . *;
導入Java . awt . geom . rectangle 2d;
公共類水印{
公共靜態void main(String[] args) {
//加載PDF文檔
pdf document doc = new pdf document();
doc . loadfromfile(" C:\ \ Users \ \ Administrator \ \ Desktop \ \ sample . pdf ");
//獲取第壹頁
PdfPageBase page = doc.getPages()。get(0);?
//設置背景圖片
page . set background image(" C:\ \ Users \ \ Administrator \ \ Desktop \ \ logo . png ");
//設置背景區域
矩形2D。Float rect = new Rectangle2D。float();
rect.setRect(280,300,150,150);
page . setbackgroundregion(rect);
//保存文檔
doc . savetofile(" output/image watermark . pdf ");
doc . close();
}
}
2.添加平鋪圖片的水印效果
導入com . spire . pdf . *;
導入com . spire . pdf . graphics . pdf image;
導入com . spire . pdf . graphics . pdftilingbrush;
導入Java . awt . *;
導入Java . awt . geom . dimension 2d;
導入Java . awt . geom . rectangle 2d;
公共類AddBackground {
公共靜態void main(String[] args) {
//創建PdfDocument對象並加載PDF測試文檔。
pdf document pdf = new pdf document();
pdf . loadfromfile(" test . pdf ");
//遍歷文檔的每壹頁,加載圖片並設置為平鋪背景(水印)。
for(int I = 0;我& ltpdf.getPages()。getCount();i++)
{
PdfPageBase page = pdf.getPages()。get(I);
Dimension 2d Dimension 2d = new Dimension();
dimension 2d . setsize(page . get canvas()。getSize()。getWidth()/4,page.getCanvas()。getSize()。getHeight()/3);
PdfTilingBrush brush = new PdfTilingBrush(尺寸2d);
brush.getGraphics()。setTransparency(0.2f);
brush.getGraphics()。translate transform(brush . getsize()。getWidth()/10,brush.getSize()。getHeight()/10);
brush.getGraphics()。旋轉變壓器(30);
pdf image image = pdf image . from image(" logo . png ");
brush.getGraphics()。drawImage(image,brush.getSize()。getWidth()-image.getWidth()/2,(brush.getSize()。getHeight())/2);
Rectangle2D rectangle2D =新Rectangle2D。float();
rectangle 2d . set frame(new Point(0,0),page.getCanvas()。get clientsize());
page.getCanvas()。drawRectangle(brush,rectangle 2d);
}
//保存文檔
pdf . savetofile(" settiledbackground . pdf ");
pdf . dispose();
}
}
註:免費尖塔。這裏用的是Pdf.jar(以上代碼參考自文章1和文章2)。