需要用到
itextpdf-5.5.5.jar
源码如下
入参为输入文件,输出文件 ,水印内容
public static void waterMark(String inputFile, String outputFile,String waterMarkName) {
PdfReader reader = null;
PdfStamper stamper = null;
try {
log.error("--waterMarkName--");
reader = new PdfReader(inputFile);
stamper = new PdfStamper(reader, new FileOutputStream(outputFile));
BaseFont base = BaseFont.createFont("/opt/Fonts/SIMSUN.TTF",BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //这里的SIMSUN.TTF是宋体,记得要放在服务器上对应文件夹下
Rectangle pageRect = null;
PdfGState gs = new PdfGState();
gs.setFillOpacity(0.2f); //填充不透明度 为1完全不透明
gs.setStrokeOpacity(0.3f); //笔画不透明度, 为1完全不透明
int total = reader.getNumberOfPages() + 1;
JLabel label = new JLabel();
FontMetrics metrics;
int textH = 0;
int textW = 0;
label.setText(waterMarkName);
metrics = label.getFon