itextpdf 设置水印
时间: 2024-11-19 15:16:56 浏览: 34
使用itextpdf将excel转化为pdf + pdf加水印
在iText中,要设置水印,你可以通过创建一个特殊的Paragraph对象并将其添加到PDF页面上。以下是一个例子,演示如何设置纯文本水印以及自定义颜色和透明度:
```java
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.color.Gray;
public class ITextWatermark {
public static void main(String[] args) {
try {
// 创建一个新的PDF文档
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("watermarked.pdf"));
// 开始写入文档
document.open();
// 定义水印文本、颜色和透明度
String watermarkText = "Watermark";
float watermarkAlpha = 0.5f; // 透明度,范围0-1
Gray watermarkColor = new Gray(0.7f); // 颜色,灰色渐变
// 创建水印风格的Paragraph
Paragraph watermarkPara = new Paragraph(watermarkText);
watermarkPara.setColor(watermarkColor);
watermarkPara.setAlpha(watermarkAlpha); // 设置透明度
// 在每一页上添加水印
int page = 1;
while (document.isOpen()) {
document.newPage();
watermarkPara.setAlignment(Element.ALIGN_CENTER);
watermarkPara.setBorderWidth(0.1f);
watermarkPara.setBorderColor(new Gray(0.3f)); // 边框颜色
watermarkPara.setMarginTop(10f); // 调整顶部距离以避免遮盖其他元素
watermarkPara.setMarginBottom(10f);
document当前页.add(watermarkPara);
page++;
}
// 关闭文档
document.close();
System.out.println("PDF with watermarks added successfully.");
} catch (DocumentException | FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们设置了水印文本为“Watermark”,透明度为50%(0.5),并且给水印添加了灰色渐变效果。同时,为了更好地展现水印效果,我们还可以设置边框和调整上下边缘的距离。
阅读全文