private static void addWatermark(PdfStamper stamper, Rectangle pageRectangle, int waterMarkCount,
String waterMarkName) {
PdfContentByte content;
BaseFont base = null;
try {
//设置字体
base = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//计算水印X,Y坐标
float x = pageRectangle.getWidth() / 2;
float y = pageRectangle.getHeight() / 2;
for (int i = 1; i < waterMarkCount + 1; i++) {
content = stamper.getOverContent(i);//获得PDF最顶层
content.saveState();
// set Transparency
PdfGState gs = new PdfGState();
gs.setFillOpacity(0.2f);//设置透明度为0.2
content.setGState(gs);
content.beginText();
content.setColorFill(BaseColor.GRAY);
content.setFontAndSize(base, 40);
content.showTextAligned(Element.ALIGN_CENTER, waterMarkName, x, y, 35);//水印文字成35度角倾斜
content.endText();
content.beginText();
content.setColorFill(BaseColor.GRAY);
content.setFontAndSize(base, 30);
String seeAttached="(See attached digital certificate)";
content.showTextAligned(Element.ALIGN_CENTER, seeAttached, x, y-42, 35);
content.endText();
content.restoreState();//注意这里必须调用一次restoreState 否则设置无效
}
}
分享到:
相关推荐
通过以上步骤,你可以在Java环境中利用iTextPDF和iText-Asian库为PDF文件添加中文水印。这个过程涉及到PDF文档的读取、写入、文本样式设定以及内容的定位,是一个典型的PDF处理应用场景。在实际开发中,你可能需要...
2. **事件驱动模型**:iText使用事件驱动模型处理PDF生成,允许开发者在特定的PDF生成阶段插入自定义行为,比如添加水印、元数据等。 3. **表单处理**:iText支持AcroForms,可以创建交互式PDF表单,用户可以在PDF...
7. **水印和页眉页脚**:你可以为PDF添加水印、页眉和页脚,增加文档的视觉效果和版权保护。 8. **PDF/A兼容性**:对于长期存储和归档的需要,iText支持创建符合PDF/A标准的文档,确保文档的长期可读性。 9. **PDF...
本文将详细介绍如何使用iText PDF库来为PDF文档添加中文水印,以及所需的jar包。 首先,iText是一个强大的Java库,用于创建、修改和优化PDF文档。它提供了一系列API,使得开发者可以方便地处理PDF的各种需求,包括...
iTextPDF库允许开发者动态生成PDF,比如添加文本、图像、表格、链接,甚至复杂的布局和交互元素。此外,它还支持PDF文档的合并、分割、水印添加以及表单填写等功能。 使用iText,开发者可以实现以下功能: 1. **...
此外,iText支持对现有PDF文档进行修改,如添加水印、注释或删除页面。 2. **iTextAsian.jar**: 这个文件扩展了iText的基本功能,使其能够处理亚洲语言,如中文、日文和韩文。iTextAsian包含了一系列针对这些语言的...
如果是文本水印,可以先将文本转换为`PdfTemplate`对象,再添加。 7. **处理多页PDF**:如果PDF有多页,你需要循环遍历每一页并添加水印。`PDFStamper`提供了`getUnderContent`方法,获取每一页的底层内容,这就是...
"itext-asian-5.2.0.jar" 和 "itextpdf-5.5.13.jar" 结合使用,能够帮助Java开发者高效地处理包含亚洲字符的PDF文档,进行复杂的文档生成和编辑操作,同时也支持从HTML和XML源生成PDF,以及实现高级功能如添加水印。...
iText Java生成PDF 加密 水印 - glen的日志 - 网易博客
此外,iText 还允许对现有 PDF 进行操作,如添加水印、签名、注释或者合并多个 PDF。 在实际应用中,iText 2.0.8 可用于多种场景,例如: 1. **报表生成**:开发人员可以利用 iText 动态生成包含复杂数据的 PDF ...
在提供的压缩包中,我们看到有多个jar文件,例如`itextpdf-5.4.2.jar`,这是iText的主要库文件,包含了所有核心功能。`-javadoc.jar`和`-sources.jar`则分别包含API文档和源代码,这对于开发和理解iText的内部工作...
类则用于添加段落,`com.itextpdf.text.Font`类可定制文本样式,包括字体、大小和颜色等。对于中文字符,iText-Asian.jar会自动选择合适的字体和编码,确保输出的PDF文档具有良好的可读性。 在实际应用中,开发者...
本资源包包含了iText 5.5.11版本的组件,以及专门针对亚洲语言支持的itext-asian5.20.jar,同时提供了加水印和去水印的代码示例,为开发者提供了强大的PDF处理能力。 1. iText 5.5.11:这是iText的一个稳定版本,...
首先,`itextpdf-5.2.0.jar`是核心库文件,包含了iText的主要功能,如创建、读取、修改PDF文档,添加文本、图像、表格、链接等元素,以及数字签名和安全性功能。将这个jar文件放入项目的`WEB-INF/lib`目录下,意味着...
- 引入必要的库:在项目中添加`iText-asian-5.2.0.jar`和`itextpdf-5.5.5.jar`。 - 创建PDF文档:使用`Document`类初始化一个新的PDF文档对象,并设定页面大小、边距等属性。 - 添加表格:使用`PdfPTable`类创建...
在描述中提到的"java为pdf添加水印图片",iText提供了相应的API来实现这一需求。开发者可以利用iText的PdfStamper类,通过在PDF的背景层放置一个半透明的图像或文字,从而达到添加水印的效果。 `iTextAsian.jar` 是...
要开始使用iTextPDF,首先需要将其添加到项目依赖中。在Maven项目中,可以在pom.xml文件中添加如下依赖: ```xml <groupId>com.itextpdf</groupId> <artifactId>itextpdf <version>5.4.3 ``` 对于非Maven项目,...
itext5生成PDF(含水印文字及图片)的源代码,操作说明详细,代码完整可用。
- `itextpdf-5.5.3-javadoc.jar`:包含了iText库的Java文档,是开发者理解和学习库函数的重要参考资料。 - `itextpdf-5.5.3-sources.jar`:源码包,允许开发者查看和研究库的内部实现,有助于深入学习和调试。 - ...
* poi-ooxml-schemas-3.9-20121203.jar, itextpdf-5.5.9.jar, itext-asian-5.2.0.jar 文件中含有依赖的jar,代码,下载后你直接可以用了,花了2天时间整理完成。 共3个方法,一个是生成pdf,第2个是加文字水印,第...