package com.pdf.test;
import java.io.FileOutputStream;
import com.lowagie.text.Image;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;
public class pdfConverstor2 {
// txt原始文件的路径
private static final String txtFilePath = "f:/Itext/12.pdf";
// 生成的pdf文件路径
private static final String pdfFilePath = "f:/Itext/1234.pdf";
// 添加水印图片路径
private static final String imageFilePath = "f:/Itext/mm.gif";
// 生成临时文件前缀
private static final String prefix = "tempFile";
/**
* @param args
*/
private static void waterMark(String inputFile, String outputFile, String waterMarkName,
int permission) {
try {
PdfReader reader = new PdfReader(inputFile);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
outputFile));
PdfContentByte under;
int total = reader.getNumberOfPages() + 1;
Image image = Image.getInstance(imageFilePath);
// 设定图片的绝对位置
image.setAbsolutePosition(100, 400);
// 设定图片尺寸
// image.scaleAbsolute(100, 200);
// 设定图片比例
image.scalePercent(50);
for (int i = 1; i < total; i++) {
under = stamper.getUnderContent(i);
// 添加图片
under.addImage(image);
}
stamper.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
waterMark(txtFilePath,pdfFilePath,"mark",16);
}
}
② Java上传图片到OSS怎么添加水印
首先,图片上的水印图片只能使用当前存储空间内的图片,如果没有,需要先传到当内前空间内。
其次,水容印图片的格式仅支持png,jpg,webp三种。
java里面上传水印,可以使用提供的sdk里面的watermark方法,这个函数有5个参数,分别是t,g,x,y,voffset.其中第一个参数表示透明度,其它参数表示位置。
当然了,它还可以指定水印文字,具体可以参考阿里云官方提供的文档,代码示例可以去github上找到对应操作的代码。
具体代码如下
// add watermark into the image
style = "image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ";
request = new GetObjectRequest(bucketName, key);
request.setProcess(style);
③ java怎么给word文档加水印
高版本的有
加水印
命令,但其实也是印在底部的
艺术字
。
切换到
页眉
,在页面中间插入艺术字,关闭页眉。看看水印的深浅,必要时可再切换到页眉,改一下艺术字的亮度以调节颜色深浅。
④ java使用itext生成word添加水印,不是pdf
itext是程序操作pdf文件的一个类库,不是用来操作word的,操作word,你可以选择poi