近日要用itext來做水印功能,在網上找了好多資料,但都是把原來的內容覆蓋了,最後找了這種方法,效果不錯
//---------pdf水印-------------
try { //水印路徑
PdfReader reader = new PdfReader(filePath_tem);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(filePath));
//stamper.setEncryption(userPassWord.getBytes(), ownerPassWord
//.getBytes(), permission, false);
BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",
BaseFont.NOT_EMBEDDED);
int total = reader.getNumberOfPages() + 1;
//圖片路徑,位置與大小
Image image = Image.getInstance(imageFilePath);
image.setAbsolutePosition(100, 300);
image.scalePercent(100);
PdfContentByte under;
int j = waterMarkName.length();
char c = 0;
int rise = 0;
for (int i = 1; i < total; i++) {
rise = 500;
under = stamper.getUnderContent(i);
under.addImage(image);
under.beginText();
under.setColorFill(Color.CYAN);
under.setFontAndSize(base, 30);
if (j >= 15) {
under.setTextMatrix(200, 120);
for (int k = 0; k < j; k++) {
under.setTextRise(rise);
c = waterMarkName.charAt(k);
under.showText(c + "");
rise -= 20;
}
} else {
under.setTextMatrix(180, 100);
for (int k = 0; k < j; k++) {
under.setTextRise(rise);
c = waterMarkName.charAt(k);
under.showText(c + "");
rise -= 18;
}
}
under.endText();
// under.ellipse(250, 450, 350, 550);
// under.setLineWidth(1f);
// under.stroke();
}
stamper.close();
} catch (Exception e) {
e.printStackTrace();
}
分享到:
相关推荐
PDF文档在许多业务场景中被广泛使用,为了保护版权或者增加特定标识,有时我们需要在PDF上添加水印。本文将详细介绍如何使用iText PDF库来为PDF...在实际项目中,务必确保遵循版权法律法规,合理合法地使用水印功能。
通过学习和掌握iText库,开发者可以灵活地生成和编辑PDF文档,包括添加水印这一关键功能。这不仅可以提升文档的专业性,还能有效保护知识产权和敏感信息。而`ResultPDF`这个文件名可能是最终生成带有水印的PDF文件,...
3. 水印功能:在PDF文档上添加水印是一项常见的需求,可以用于版权保护或者视觉标识。提供的加水印代码可以帮助开发者理解如何使用iText库在PDF文档上添加透明或不透明的文字或图像水印。而去水印功能则相对复杂,...
它提供了丰富的API,可以实现PDF文档的各种操作,如添加文本、图像、表格等,以及水印功能。而iText-Asian是iTextPDF的一个扩展,主要目的是支持中文、日文和韩文等亚洲语言的字符集,因为这些字符在PDF处理中需要...
本教程将详细讲解如何使用Itext库实现PDF文件的下载,包括通过系统路径下载和通过浏览器下载两种方式。 首先,我们需要了解Itext的基本用法。Itext提供了一系列的API,可以方便地创建PDF文档的各个元素,如文本、...
在提供的压缩包文件"复件 rmwatermark"中,可能包含了一些示例代码或者模板,你可以参考这些文件来加深理解或实现自己的功能。记得在使用`iTextSharp`时遵循其许可协议,确保合法合规使用。 总之,使用`iTextSharp`...
TestWaterPrint和TestwaterMark测试类可能实现了这一功能。在itextpdf中,可以使用ColumnText或者PdfStamper类来添加文本或图像水印。水印可以设置为半透明,位于文档的每一层,从而不影响原有内容的阅读,但又清晰...
总结起来,通过Java和iText库,我们可以方便地实现PDF文字水印的功能,保护文档的版权和防止非法复制。在处理包含亚洲字符的PDF时,需要引入如iTextAsianCmaps.jar这样的特殊字符集支持文件。这个过程需要对PDF结构...
在Java开发中,生成PDF文档是一项常见的需求,iText是一个非常流行且强大的PDF库,能够帮助开发者轻松地创建、...记住,实践是学习编程的最佳途径,尝试自己动手实现上述功能,将有助于你更好地掌握iText5库的使用。
通过SQL及JDBC模式导出各类业务数据,以PDF文件格式存放,要求该文件只能查看和打印(不能编辑和篡改),要有公司相关标志和水印功能。 1、生成PDF文件 2、PDF文件注明版权 3、PDF增加文字和图片水印 4、PDF表格列数...
1、生成PDF文件 2、支持中文字体 3、PDF文件内容为表格,表格有表头 ...10、PDF文件增加文字或图片水印功能,要求文字或图片在整个页面清晰可见。增加的水印信息不能使PDF文件大小增长超过5%。 11、对PDF文件进行加密
- **合同签署**:利用iText的数字签名功能,可以实现安全的电子合同签署,同时支持中文注释和条款。 - **PDF表单**:创建带有输入字段的PDF表单,允许用户填写并保存信息,适用于各种业务流程。 通过提供的"lib...
这个jar包提供了丰富的API,使得开发者能够轻松地在PDF文档上实现各种功能,包括添加水印、填写表单、文本分析、图像处理等。在本篇文章中,我们将深入探讨iText库的核心特性、如何为PDF添加水印以及在实际项目中的...
最后,`pdf.java`可能是包含示例代码或特定功能实现的Java文件,可以帮助开发者更好地了解如何在实际项目中使用iText。 总的来说,iText-5.4.2资源包为Java开发者提供了一整套工具,用于处理PDF的安全性和增强其...
总之,iTextPDF库为PDF文档处理提供了强大的工具,使得开发者可以轻松实现电子签章、水印和背景图片等功能。通过学习和实践,你可以创建出安全、专业且符合业务需求的PDF文档。在实际项目中,这些功能对于保证文档的...
在这个场景中,"iTextAsian.jar" 和 "itext-5.3.2.jar" 是Java开发中用于处理PDF文档的关键组件,特别是对于添加水印功能。 iText是一个开源的Java库,专门用于创建、修改和处理PDF文档。版本5.3.2是iText的一个...
2. **PDF编辑**:虽然PDF格式通常被认为是只读的,但IText提供了编辑现有PDF文档的能力,如修改文本、替换图像、添加水印或者更改页面布局。 3. **表单处理**:IText支持交互式PDF表单的创建和填充。可以添加、删除...
7. PDF/A兼容性:如果需要符合PDF/A标准(一种长期归档的PDF版本),可以使用iText的扩展功能实现。 8. 错误处理:在编程过程中,需要注意捕获和处理可能出现的异常,例如`DocumentException`和`IOException`。 ...
通过深入学习和实践,开发者可以利用iText实现各种复杂的PDF文档生成需求。 总结来说,iText是一个强大且灵活的PDF处理库,通过掌握其基本使用方法,如创建`Document`、添加`Paragraph`,可以轻松入门并逐步精通PDF...
iText 的主要功能包括添加文本、图像、表格、链接、水印等元素,以及表单处理、数字签名和安全特性。在Java开发环境中,iText 是一种强大的工具,广泛应用于报告生成、发票制作、电子书制作等领域。 iText.jar 文件...