importj**a.io.bufferedoutputstream;
import
j**a.io.file;
import
j**a.io.fileoutputstream;
import
j**a.util.arraylist;
import
org.apache.log4j.logger;
import
com.itextpdf.text.element;
import
com.itextpdf.text.image;
import
com.itextpdf.text.pdf.basefont;
import
com.itextpdf.text.pdf.pdfcontentbyte;
import
com.itextpdf.text.pdf.pdfgstate;
import
com.itextpdf.text.pdf.pdfreader;
import
com.itextpdf.text.pdf.pdfstamper;
public
class
watermarkutil
//假如目標檔案不存在,則新建該檔案
if (!outputfile.exists())
bufferedoutputstream bos = new bufferedoutputstream(new
fileoutputstream(outputfile));
pdfstamper stamper = new
pdfstamper(reader, bos);
int total = reader.getnumberofpages() + 1;
pdfcontentbyte content;
basefont base = basefont.createfont("stsong-light", "unigb-ucs2-h", basefont.embedded);
//basefont base =
"/data/tmis/uploads/file/font/simsun.ttc,1",
basefont.embedded);
pdfgstate gs = new
pdfgstate();
if (pagelist == null || pagelist.isempty())
stamper.close();
reader.close();
} else
}stamper.close();
reader.close();
logger.info("新增文字水印完畢");
}return
true
; }
catch
(exception e)
}/*** pdf檔案設定水印
* *
@param
inputfilepath 輸入檔案路徑
* @param
outputfilepath 輸出檔案路徑
* @param
imgwatermarkpath 水印路徑
* @param
pagelist 水印新增的頁碼(傳空則全部頁碼新增水印)
* @return
返回是否新增成功
*/public
static
boolean setimgwatermark2pdfbypage(string inputfilepath, string outputfilepath,
string imgwatermarkpath, arraylist
pagelist)
//假如目標檔案不存在,則新建該檔案
if (!outputfile.exists())
pdfstamper stamper = new pdfstamper(reader, new
fileoutputstream(outputfile));
//設定字型
basefont font = basefont.createfont("stsong-light", "unigb-ucs2-h", basefont.embedded);
//pdf總頁數
int total = reader.getnumberofpages() + 1;
//迴圈對每頁插入水印
pdfcontentbyte content;
if (pagelist == null || pagelist.isempty())
image.setabsoluteposition(50, 50);content.addimage(image);
image.setabsoluteposition(50, 250);content.addimage(image);
image.setabsoluteposition(50, 450);content.addimage(image);
image.setabsoluteposition(50, 650);content.addimage(image);
image.setabsoluteposition(250, 50);content.addimage(image);
image.setabsoluteposition(250, 250);content.addimage(image);
image.setabsoluteposition(250, 450);content.addimage(image);
image.setabsoluteposition(250, 650);content.addimage(image);
image.setabsoluteposition(450, 50);content.addimage(image);
image.setabsoluteposition(450, 250);content.addimage(image);
image.setabsoluteposition(450, 450);content.addimage(image);
image.setabsoluteposition(450, 650);content.addimage(image);}}
} else
image.setabsoluteposition(50, 50);content.addimage(image);
image.setabsoluteposition(50, 250);content.addimage(image);
image.setabsoluteposition(50, 450);content.addimage(image);
image.setabsoluteposition(50, 650);content.addimage(image);
image.setabsoluteposition(250, 50);content.addimage(image);
image.setabsoluteposition(250, 250);content.addimage(image);
image.setabsoluteposition(250, 450);content.addimage(image);
image.setabsoluteposition(250, 650);content.addimage(image);
image.setabsoluteposition(450, 50);content.addimage(image);
image.setabsoluteposition(450, 250);content.addimage(image);
image.setabsoluteposition(450, 450);content.addimage(image);
image.setabsoluteposition(450, 650);content.addimage(image);}}
}}
stamper.close();
reader.close();
logger.info("新增水印完畢");
return
true
; }
catch
(exception e)
}}
給pdf文件增加水印
用itext給pdf文件增加水印功能。增加水印的方法 param watermark param inputpfdfilepath param outputpdffilepath public void addwatermark string watermark,string inputpfdfil...
Java水印工具類
前一段時間在工作中遇到了乙個水印功能,即對jpeg新增水印 其它檔案格式有待測試 另外,這個工具只是記錄下實現過程,並沒有做複雜的封裝。希望對看到的人有所幫助,也希望大家多提建議。public class imageaddwatermark 上加水印 param originimgfile 原圖 p...
PDF文件版權保護工具 2 0
pdf文件版權保護工具 2.0 加密控制pdf文件,可禁止列印 禁止複製文字等 pdf文件版權保護加密工具可以給現有的pdf文件設定許可權 增加使用者和管理員等等。軟體特點 1 支援批量加密,如禁止列印 禁止複製 禁止提取頁面等 2 全面支援所有版本的pdf檔案加密 3 介面友好,操作簡單方便 4 ...