首先需要的jar包为iText-2.1.2u.jar、iTextAsian.jar。
import java.awt.Color;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfGState;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;
public class TestWaterPrint {
public static void main(String[]args) throws DocumentException, IOException{
//要输出的pdf文件
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File("E:/abc.pdf")));
Calendar cal = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//将pdf文件先加水印然后输出
setWatermark(bos,"E:/pdf源文件.pdf",format.format(cal.getTime()) + " 下载使用人:" + "测试user", 16);
}
public static void setWatermark(BufferedOutputStream bos, String input,
String waterMarkName, int permission)
throws DocumentException, IOException {
PdfReader reader = new PdfReader(input);
PdfStamper stamper = new PdfStamper(reader, bos);
int total = reader.getNumberOfPages() + 1;
PdfContentByte content;
BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",
BaseFont.EMBEDDED);
PdfGState gs = new PdfGState();
for (int i = 1; i < total; i++) {
content = stamper.getOverContent(i);//在内容上方加水印
//content = stamper.getUnderContent(i);//在内容下方加水印
gs.setFillOpacity(0.2f);
// content.setGState(gs);
content.beginText();
content.setColorFill(Color.LIGHT_GRAY);
content.setFontAndSize(base, 50);
content.setTextMatrix(70, 200);
content.showTextAligned(Element.ALIGN_CENTER, "公司内部文件,请注意保密!", 300,
350, 55);
content.setColorFill(Color.BLACK);
content.setFontAndSize(base, 8);
content.showTextAligned(Element.ALIGN_CENTER, "下载时间:"
+ waterMarkName + "", 300, 10, 0);
content.endText();
}
stamper.close();
}
}
- 浏览: 275976 次
- 性别:
- 来自: 上海
最新评论
-
thinkerAndThinker:
JXL:支持比较低版本的excel,比如Excel 95 ,9 ...
POI帮助文档 -
thinkerAndThinker:
涛声依旧是 写道请教下我的能显示启动的时候提示信息,但是修改类 ...
热部署jrebel myeclipse配置 -
涛声依旧是:
请教下我的能显示启动的时候提示信息,但是修改类却不提示,怎么回 ...
热部署jrebel myeclipse配置 -
thinkerAndThinker:
publicclass CustomerHttpClient ...
SSL通关之代码示例(四) -
huliang216:
我想获取单例的HttpClient该怎么写?我再代码里面加if ...
SSL通关之代码示例(四)
相关推荐
该工具包主要针对PDF文件,提供了一种简便、高效的方法来为单个PDF文件添加水印。通过使用Python编写的脚本,用户可以轻松地为PDF文件添加自定义文本或图像作为水印,以满足各种办公场景的需求。该工具包主要包括...
java代码,给pdf文件加水印,本例子水印内容使用Wingdings.ttf英文艺术字体,可自行更换成自己喜欢的字体。
A-PDF Watermark是一个非常强大的PDF水印工具,可以批量为pdf文件添加文本或图片水印,如文件名、公司名、签名、产品图片,从而保护PDF文件。A-PDF Watermark也支持为PDF文件添加标记信息,如日期时间、页码、作者。...
asp.net为PDF添加水印
4、带水印PDF文件路径:可以不填,不填则生成的带水印文件路径是"原始PDF文件路径"添加上(带水印)。 5、需要添加水印的页数:可以不填,传0则代码pdf所有页都添加水印,传5则代码在PDF文件第5页添加水印。 6、...
给pdf文件加水印。源代码有详解。主要代码: PdfReader pdfReader = new PdfReader(inputPath); int numberOfPages = pdfReader.NumberOfPages; FileStream outputStream = new FileStream(outputPath, FileMode....
.net给PDF加水印方法,内容包含所需引用dll文件和加水印方法,已经在多个实际项目中实用
A-PDF Watermark是一个非常强大的PDF水印工具,可以批量为PDF文件添加文本或图片水印,如文件名、公司名、签名、产品图片,从而保护PDF文件。A-PDF Watermark也支持为PDF文件添加标记信息,如日期时间、页码、作者。...
最近在做一个关于pdf文件水印相关的需求。在通过viewer.js 组件预览上传后已有水印的文件时,发现水印没有显示。这个修改后的viewer.js将解决这个问题 博客原文:...
历经一个月总结使用java实现pdf文件的电子签字+盖章+防伪二维码+水印+PDF文件加密的全套解决方案
绿色版工具,无需安装。一个非常强大的 PDF 水印工具,可以批量为 PDF 文件添加文本或图片水印,如文件名、公司名、签名、产品图片,从而保护 PDF 文件;它也支持为 PDF 文件添加日期时间、页码、作者等标记信息。
调用Image.FromFile(stringfilename)方法来加载图片,非常简单、方便。
C#源代码,支持多页批量给指定PDF文件的加水印,在指定位置加文字。使用了itextsharp.dll。PDF文件的加密、解密,PDF WEB在线阅读
1.PHP使用插件fpdf fpdi 可以加数字字母水印和图片水印(中文乱码)
java导出pdf文件,可分页输出,同时生成水印
4.插件Mpdf 加水印
C#两种方式实现(Spire.Pdf插件和iTextSharp)给PDF文件加水印,无限制,简单高效,编译通过可以直接使用。
通过TXT文件生成PDF文档,并选择图片或文字添加水印等等
markpdf - 使用图像或文本对 PDF 文件加水印用于使用图像或文本为 PDF 文件添加水印的小型命令行工具。 使用简单的选项来配置位置、不透明度、旋转、拉伸等。 强调 - 非常简单易用极快! 按比例将水印图像拉伸到高度...
java使用itextpdf、itext-asian对pdf文件加中文文字水印,此demo只提供参考,希望给需要的朋友带来帮助,谢谢支持!