PDF文件設定水印工具類

2022-09-13 06:30:10 字數 4159 閱讀 8534

import

j**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 ...