水印是一种十分常用的防伪手段,常用于各种文档、资料等。常见的水印,包括文字类型的水印、图片或logo类型的水印。以下Java示例,将分别使用insertTextWatermark(PdfPageBase page, String watermark)方法以及page.SetBackgroundImage(String arg0)方法来设置文本水印和图片水印。下面将演示具体的代码操作,内容供参考。
Jar文件导入(方法1):
步骤1:下载jar包-解压,复制文件夹lib中的jar文件
步骤2:在程序中新建一个directory目录,并命名,将步骤1中的jar文件复制到此处。
步骤3:选中复制后的jar文件,点击鼠标右键,选着“Add as Library”。完成引用。
Jar文件导入(方法2):通过maven安装,可参考官网上的具体操作步骤。
Java代码示例(供参考)
【示例1】添加文本水印importcom.spire.pdf.*;
importcom.spire.pdf.graphics.*;
importjava.awt.*;
importjava.awt.geom.*;
publicclassTextwatermark{
publicstaticvoidmain(String[]args){
//创建PdfDocument类的对象
PdfDocumentpdf=newPdfDocument();
//加载测试文档
pdf.loadFromFile("test.pdf");
//获取测试文档中的第一页
PdfPageBasepage=pdf.getPages().get(0);
//调用insertWatermark()方法添加文本水印
insertWatermark(page);
//保存文档
pdf.saveToFile("out/textWaterMark.pdf");
}
staticvoidinsertWatermark(PdfPageBasepage){
Dimension2Ddimension2D=newDimension();
PdfTrueTypeFontfont1=newPdfTrueTypeFont(newFont("ArialUnicodeMS",Font.PLAIN,14),true);
dimension2D.setSize(page.getCanvas().getClientSize().getWidth()/5,page.getCanvas().getClientSize().getHeight()/5);
PdfTilingBrushbrush=newPdfTilingBrush(dimension2D);
brush.getGraphics().setTransparency(0.4F);
brush.getGraphics().save();
brush.getGraphics().translateTransform((float)brush.getSize().getWidth()/5,(float)brush.getSize().getHeight()/5);
brush.getGraphics().rotateTransform(-45);
brush.getGraphics().drawString("密件",font1,PdfBrushes.getViolet(),0,0,newPdfStringFormat(PdfTextAlignment.Center));
brush.getGraphics().restore();
brush.getGraphics().setTransparency(1);
Rectangle2DloRect=newRectangle2D.Float();
loRect.setFrame(newPoint2D.Float(0,0),page.getCanvas().getClientSize());
page.getCanvas().drawRectangle(brush,loRect);
}
}
文本水印添加效果:
【示例2】添加图片水印importcom.spire.pdf.*;
importjava.awt.geom.Rectangle2D;
publicclasswatermark{
publicstaticvoidmain(String[]args){
//实例化PdfDocument类的对象,并加载测试文档
PdfDocumentdoc=newPdfDocument();
doc.loadFromFile("test.pdf");
//获取文档第1页
PdfPageBasepage=doc.getPages().get(0);
//加载图片,设置为背景水印
page.setBackgroundImage("logo.png");
//指定水印在文档中的位置及图片大小
Rectangle2D.Floatrect=newRectangle2D.Float();
rect.setRect(150,150,300,150);
page.setBackgroundRegion(rect);
//保存文档
doc.saveToFile("output/imageWaterMark.pdf");
doc.close();
}
}
图片水印添加效果:
(本文完)