最近接到客户需求需要在OA系统里面定制文档(pdf、word)的水印(图片水印、文字水印),网上查了一波资料,不太完全,而且api说明也比较模糊,好了,废话不多说,直接上代码(第一次写,希望大家多多指教¥.¥)
一、pdf文档添加水印
1.jar包(自行百度,私聊我也可以)
2.springMVC模式下的(SSM)下的代码结构,同时涉及到文件上传
(1).@controller层
/**
* PDF水印参数设置
* personSel:选中时的水印的seqno
* @throws IOException
* @throws DocumentException
*/
@RequestMapping(value = "/saveFile.action", method = RequestMethod.POST)
@ResponseBody
public ResultBean setWaterPrintPDF(TbWaterPrintInfo entity,
@RequestParam(value = "pdf-file", required = false) MultipartFile pdfFile,
@RequestParam(value = "img-file", required = false) MultipartFile imgFile,
String personSel)
throws DocumentException, IOException {
ResultBean bean = new ResultBean();
// 一次读取,两次打印,(页面要求一键选择水印记录)
List<TbWaterPrintInfo> entityList = new ArrayList<>();
// 查询db获取相关的水印参数
if(StringUtil.isNotBlank(personSel)){
TbWaterPrintInfo searchOnedata = (TbWaterPrintInfo) this.waterPrintWordService.searchOnedata(personSel).getData();
entityList.add(searchOnedata);
}
entityList.add(entity);
bean = this.waterPrintPDFService.setWatermark(entityList, pdfFile, imgFile);
return bean;
}
public ResultBean setWatermark(List<TbWaterPrintInfo> entityList, MultipartFile pdfFile,MultipartFile imgFile)
throws DocumentException, IOException {
ResultBean bean = new ResultBean();
// pdf文件上传
WaterPrintEntity fileEntity = new WaterPrintEntity();
String fileId = waterPrintWordService.uploadFile(pdfFile);
String fileName = pdfFile.getOriginalFilename();
String fileExt = StringUtil.getFileExtName(fileName);
// 文件上传后的文件路径
String path = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "file", DateUtil.getShortSysDateString(),
fileId) + StringUtil.nval(fileExt, "." + fileExt);
fileEntity.setFileId(fileId);
fileEntity.setFileName(fileName);
fileEntity.setFileType("pdf");
bean.setData(fileEntity);
// 要输出的pdf文件(加完水印后的)
String targetPathDir = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "pdf",
DateUtil.getShortSysDateString());
String targetPath = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "pdf",
DateUtil.getShortSysDateString(), fileId) + StringUtil.nval(fileExt, "." + fileExt);
File newFileDir = new File(targetPathDir);
// 判断是否存在该路径,不存在则创建新文件路径(文件夹)
if (!newFileDir.exists()) {
newFileDir.mkdirs();
}
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(targetPath)));
// 1.处理pdf文件
// 读取未处理的pdf文件
PdfReader reader = new PdfReader(path);
PdfStamper stamper = new PdfStamper(reader, bos);
for (TbWaterPrintInfo entity :entityList) {
// word图片ID
String imgtargetPath = "";
if(StringUtil.equals(entity.getIsUsingi(), "true") || StringUtil.equals(entity.getIsUsingi(), "on")){
if (imgFile != null) {
String imgId = waterPrintWordService.uploadFile(imgFile);
String imgName = imgFile.getOriginalFilename();
String imgExt = StringUtil.getFileExtName(imgName);
// 文件上传后的文件路径
imgtargetPath = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "file", DateUtil.getShortSysDateString(),
imgId) + StringUtil.nval(imgExt, "." + imgExt);
} else {
// 历史记录选择回显的case,路径为历史文件
String imgId = entity.getImgId();
String imgName = entity.getImgName();
String imgExt = StringUtil.getFileExtName(imgName);
// 文件上传后的文件路径
imgtargetPath = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "file", entity.getRemark2(),
imgId) + StringUtil.nval(imgExt, "." + imgExt);
}
}
// 获取pdf文件的页码
int total = reader.getNumberOfPages() + 1;
// 声明水印工具
PdfContentByte content;
// 实例化水印字体(字体类型fontType)
BaseFont bfChinese;
PdfGState gs = new PdfGState();
// 文字共通
List<Integer> fontPageRangeList = null;
List<Integer> rgbList = null;
List<String> changeRowList = null;
if (StringUtil.equals(entity.getIsUsingw(), "true") || StringUtil.equals(entity.getIsUsingw(), "on")) {
// 处理文字水印页码
fontPageRangeList = this.pageRangeHandle(entity.getFontPagerange(), total);
// 文字水印颜色转换16->rgb
rgbList = this.convertToColor(entity.getFontColor());
// 设置文字透明度
gs.setFillOpacity(entity.getFontTransparency().floatValue());
// 多行文字转换
changeRowList = this.changeRow(entity.getFontText());
}
// 图片共通
List<Integer> imgPageRangeList = null;
Image image = null;
if (StringUtil.equals(entity.getIsUsingi(), "true") || StringUtil.equals(entity.getIsUsingi(), "on")) {
// 处理图片水印页码
imgPageRangeList = this.pageRangeHandle(entity.getImgPagerange(), total);
image = Image.getInstance(imgtargetPath);
image.setAlignment(Image.LEFT | Image.TEXTWRAP);
// 旋转
image.setRotationDegrees(Float.parseFloat(entity.getImgAngle()));
image.setAbsolutePosition(entity.getImgMarginleft(), entity.getImgMarginbottom());
// 设置图片的宽和高
image.scaleToFit(entity.getImgWidth(), entity.getImgHeight());
}
for (int i = 1; i < total; i++) {
// 在内容上方加水印
content = stamper.getOverContent(i);
// ******************水印文字设置开始***************
content.beginText();
// on:启用,则设置文字水印
if (StringUtil.equals(entity.getIsUsingw(), "true") || StringUtil.equals(entity.getIsUsingw(), "on")) {
bfChinese = BaseFont.createFont(entity.getFontType(), BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
// 处理文字水印页码
fontPageRangeList = this.pageRangeHandle(entity.getFontPagerange(), total);
// 文字水印颜色转换16-> rgb
rgbList = this.convertToColor(entity.getFontColor());
content.setGState(gs);
// 设置文字水印的颜色
content.setRGBColorFill(rgbList.get(0), rgbList.get(1), rgbList.get(2));
content.setFontAndSize(bfChinese, entity.getFontSize());
content.setTextMatrix(100, 200);
for (int j = 0; j < fontPageRangeList.size(); j++) {
if (fontPageRangeList.get(j) == i) {
// 参数(1:水印位置,2:要打印的文字,3:左边距,4:下边距,5逆时针旋转角度)
for (int k = 0; k < changeRowList.size(); k++) {
content.showTextAligned(Element.ALIGN_CENTER, changeRowList.get(k),
entity.getFontMarginleft() + (k) * (entity.getFontSize())
* (float) Math
.sin(Double.parseDouble(String.valueOf(entity.getFontAngle()))),
entity.getFontMarginbottom()
+ (changeRowList.size() - 1 - k) * (entity.getFontSize())
+ (changeRowList.size() - 1 - k) * (entity.getFontSize())
* (1 - (float) Math.cos(
Double.parseDouble(String.valueOf(entity.getFontAngle())))),
entity.getFontAngle());
}
}
}
}
// on:设置图片水印
if (StringUtil.equals(entity.getIsUsingi(), "true") || StringUtil.equals(entity.getIsUsingi(), "on")) {
// **************** 图片水印 *********************
for (int j = 0; j < imgPageRangeList.size(); j++) {
if (imgPageRangeList.get(j) == i) {
// 设置图片水印透明度
gs.setFillOpacity(entity.getImgTransparency().floatValue());
content.setGState(gs);
content.addImage(image);
}
}
}
content.endText();
}
}
stamper.close();
return bean;
}
//*****************************完整的@service-pdf******************************
@Service
public class WaterPrintPDFService extends BaseService {
@Autowired
private WaterPrintWordService waterPrintWordService;
/**
* 水印常用字体取得
*
* @return List<Code>
*/
public List<Code> getFontType() {
List<Code> codeList = new ArrayList<>();
Code code = null;
// 1.楷体字
code = new Code();
code.setText("楷体字");
code.setValue("c:\\windows\\fonts\\simkai.ttf");
codeList.add(code);
// 2.方正舒体
code = new Code();
code.setText("方正舒体");
code.setValue("c:\\windows\\fonts\\FZSTK.TTF");
codeList.add(code);
// 3.方正姚体
code = new Code();
code.setText("方正姚体");
code.setValue("c:\\windows\\fonts\\FZYTK.TTF");
codeList.add(code);
// 4.仿宋体
code = new Code();
code.setText("仿宋体");
code.setValue("c:\\windows\\fonts\\SIMFANG.TTF");
codeList.add(code);
// 5.黑体
code = new Code();
code.setText("黑体");
code.setValue("c:\\windows\\fonts\\SIMHEI.TTF");
codeList.add(code);
// 6.华文彩云
code = new Code();
code.setText("华文彩云");
code.setValue("c:\\windows\\fonts\\STCAIYUN.TTF");
codeList.add(code);
// 7.华文仿宋
code = new Code();
code.setText("华文仿宋");
code.setValue("c:\\windows\\fonts\\STFANGSO.TTF");
codeList.add(code);
// 8.华文细黑
code = new Code();
code.setText("华文细黑");
code.setValue("c:\\windows\\fonts\\STXIHEI.TTF");
codeList.add(code);
// 9.华文新魏
code = new Code();
code.setText("华文新魏 ");
code.setValue("c:\\windows\\fonts\\STXINWEI.TTF");
codeList.add(code);
// 10.华文行楷
code = new Code();
code.setText("华文行楷");
code.setValue("c:\\windows\\fonts\\STXINGKA.TTF");
codeList.add(code);
// 11.幼圆
code = new Code();
code.setText("幼圆");
code.setValue("c:\\windows\\fonts\\SIMYOU.TTF");
codeList.add(code);
// 12.隶书
code = new Code();
code.setText("隶书");
code.setValue("c:\\windows\\fonts\\SIMLI.TTF");
codeList.add(code);
return codeList;
}
/**
* 水印常用字号
*
* @return List<Code>
*/
public List<Code> getFontSizeList() {
List<Code> fontSizeList = new ArrayList<Code>();
fontSizeList.add(new Code("9", "9"));
fontSizeList.add(new Code("12", "12"));
fontSizeList.add(new Code("14", "14"));
fontSizeList.add(new Code("16", "16"));
fontSizeList.add(new Code("20", "20"));
fontSizeList.add(new Code("30", "30"));
fontSizeList.add(new Code("40", "40"));
fontSizeList.add(new Code("50", "50"));
fontSizeList.add(new Code("60", "60"));
fontSizeList.add(new Code("70", "70"));
fontSizeList.add(new Code("80", "80"));
fontSizeList.add(new Code("90", "90"));
fontSizeList.add(new Code("100", "100"));
return fontSizeList;
}
/**
* 水印旋转角度 -90到90
*
* @return List<Code>
*/
public List<Code> getFontAngleList() {
List<Code> fontAngleList = new ArrayList<Code>();
fontAngleList.add(new Code("0", "0"));
fontAngleList.add(new Code("30", "30"));
fontAngleList.add(new Code("45", "45"));
fontAngleList.add(new Code("60", "60"));
fontAngleList.add(new Code("90", "90"));
fontAngleList.add(new Code("120", "120"));
fontAngleList.add(new Code("135", "135"));
fontAngleList.add(new Code("150", "150"));
fontAngleList.add(new Code("180", "180"));
return fontAngleList;
}
/**
* pdf水印透明度 0.1-1.0数值越大,越清晰
*
* @return List<Code>
*/
public List<Code> getTransparencyList() {
List<Code> transparencyList = new ArrayList<Code>();
transparencyList.add(new Code("0.1", "0.1"));
transparencyList.add(new Code("0.2", "0.2"));
transparencyList.add(new Code("0.3", "0.3"));
transparencyList.add(new Code("0.4", "0.4"));
transparencyList.add(new Code("0.5", "0.5"));
transparencyList.add(new Code("0.6", "0.6"));
transparencyList.add(new Code("0.7", "0.7"));
transparencyList.add(new Code("0.8", "0.8"));
transparencyList.add(new Code("0.9", "0.9"));
transparencyList.add(new Code("1", "1"));
return transparencyList;
}
/**
* word水印透明度 0->1,数值越小,越清晰
*
* @return List<Code>
*/
public List<Code> getWTransparencyList() {
List<Code> transparencyList = new ArrayList<Code>();
transparencyList.add(new Code("0.9", "0.1"));
transparencyList.add(new Code("0.8", "0.2"));
transparencyList.add(new Code("0.7", "0.3"));
transparencyList.add(new Code("0.6", "0.4"));
transparencyList.add(new Code("0.5", "0.5"));
transparencyList.add(new Code("0.4", "0.6"));
transparencyList.add(new Code("0.3", "0.7"));
transparencyList.add(new Code("0.2", "0.8"));
transparencyList.add(new Code("0.1", "0.9"));
transparencyList.add(new Code("0", "1"));
return transparencyList;
}
/**
* 用户自定义水印页码范围备用选项
*
* @return List<Code>
*/
public List<Code> getPageRangeList() {
List<Code> pageRangeList = new ArrayList<Code>();
pageRangeList.add(new Code("allPages", "全部页"));
pageRangeList.add(new Code("oddPages", "奇数页"));
pageRangeList.add(new Code("evenPages", "偶数页"));
pageRangeList.add(new Code("firstPages", "仅首页"));
pageRangeList.add(new Code("unFirstPages", "非首页"));
return pageRangeList;
}
public ResultBean setWatermark(List<TbWaterPrintInfo> entityList, MultipartFile pdfFile,MultipartFile imgFile)
throws DocumentException, IOException {
ResultBean bean = new ResultBean();
// pdf文件上传
WaterPrintEntity fileEntity = new WaterPrintEntity();
String fileId = waterPrintWordService.uploadFile(pdfFile);
String fileName = pdfFile.getOriginalFilename();
String fileExt = StringUtil.getFileExtName(fileName);
// 文件上传后的文件路径
String path = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "file", DateUtil.getShortSysDateString(),
fileId) + StringUtil.nval(fileExt, "." + fileExt);
fileEntity.setFileId(fileId);
fileEntity.setFileName(fileName);
fileEntity.setFileType("pdf");
bean.setData(fileEntity);
// 要输出的pdf文件(加完水印后的)
String targetPathDir = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "pdf",
DateUtil.getShortSysDateString());
String targetPath = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "pdf",
DateUtil.getShortSysDateString(), fileId) + StringUtil.nval(fileExt, "." + fileExt);
File newFileDir = new File(targetPathDir);
// 判断是否存在该路径,不存在则创建新文件路径(文件夹)
if (!newFileDir.exists()) {
newFileDir.mkdirs();
}
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(targetPath)));
// 1.处理pdf文件
// 读取未处理的pdf文件
PdfReader reader = new PdfReader(path);
PdfStamper stamper = new PdfStamper(reader, bos);
for (TbWaterPrintInfo entity :entityList) {
// word图片ID
String imgtargetPath = "";
if(StringUtil.equals(entity.getIsUsingi(), "true") || StringUtil.equals(entity.getIsUsingi(), "on")){
if (imgFile != null) {
String imgId = waterPrintWordService.uploadFile(imgFile);
String imgName = imgFile.getOriginalFilename();
String imgExt = StringUtil.getFileExtName(imgName);
// 文件上传后的文件路径
imgtargetPath = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "file", DateUtil.getShortSysDateString(),
imgId) + StringUtil.nval(imgExt, "." + imgExt);
} else {
// 历史记录选择回显的case,路径为历史文件
String imgId = entity.getImgId();
String imgName = entity.getImgName();
String imgExt = StringUtil.getFileExtName(imgName);
// 文件上传后的文件路径
imgtargetPath = StringUtil.buildPath(ConfigUtil.getFileStorageRoot(), "waterPrint", "file", entity.getRemark2(),
imgId) + StringUtil.nval(imgExt, "." + imgExt);
}
}
// 获取pdf文件的页码
int total = reader.getNumberOfPages() + 1;
// 声明水印工具
PdfContentByte content;
// 实例化水印字体(字体类型fontType)
BaseFont bfChinese;
PdfGState gs = new PdfGState();
// 文字共通
List<Integer> fontPageRangeList = null;
List<Integer> rgbList = null;
List<String> changeRowList = null;
if (StringUtil.equals(entity.getIsUsingw(), "true") || StringUtil.equals(entity.getIsUsingw(), "on")) {
// 处理文字水印页码
fontPageRangeList = this.pageRangeHandle(entity.getFontPagerange(), total);
// 文字水印颜色转换16->rgb
rgbList = this.convertToColor(entity.getFontColor());
// 设置文字透明度
gs.setFillOpacity(entity.getFontTransparency().floatValue());
// 多行文字转换
changeRowList = this.changeRow(entity.getFontText());
}
// 图片共通
List<Integer> imgPageRangeList = null;
Image image = null;
if (StringUtil.equals(entity.getIsUsingi(), "true") || StringUtil.equals(entity.getIsUsingi(), "on")) {
// 处理图片水印页码
imgPageRangeList = this.pageRangeHandle(entity.getImgPagerange(), total);
image = Image.getInstance(imgtargetPath);
image.setAlignment(Image.LEFT | Image.TEXTWRAP);
// 旋转
image.setRotationDegrees(Float.parseFloat(entity.getImgAngle()));
image.setAbsolutePosition(entity.getImgMarginleft(), entity.getImgMarginbottom());
// 设置图片的宽和高
image.scaleToFit(entity.getImgWidth(), entity.getImgHeight());
}
for (int i = 1; i < total; i++) {
// 在内容上方加水印
content = stamper.getOverContent(i);
// ******************水印文字设置开始***************
content.beginText();
// on:启用,则设置文字水印
if (StringUtil.equals(entity.getIsUsingw(), "true") || StringUtil.equals(entity.getIsUsingw(), "on")) {
bfChinese = BaseFont.createFont(entity.getFontType(), BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
// 处理文字水印页码
fontPageRangeList = this.pageRangeHandle(entity.getFontPagerange(), total);
// 文字水印颜色转换16-> rgb
rgbList = this.convertToColor(entity.getFontColor());
content.setGState(gs);
// 设置文字水印的颜色
content.setRGBColorFill(rgbList.get(0), rgbList.get(1), rgbList.get(2));
content.setFontAndSize(bfChinese, entity.getFontSize());
content.setTextMatrix(100, 200);
for (int j = 0; j < fontPageRangeList.size(); j++) {
if (fontPageRangeList.get(j) == i) {
// 参数(1:水印位置,2:要打印的文字,3:左边距,4:下边距,5逆时针旋转角度)
for (int k = 0; k < changeRowList.size(); k++) {
content.showTextAligned(Element.ALIGN_CENTER, changeRowList.get(k),
entity.getFontMarginleft() + (k) * (entity.getFontSize())
* (float) Math
.sin(Double.parseDouble(String.valueOf(entity.getFontAngle()))),
entity.getFontMarginbottom()
+ (changeRowList.size() - 1 - k) * (entity.getFontSize())
+ (changeRowList.size() - 1 - k) * (entity.getFontSize())
* (1 - (float) Math.cos(
Double.parseDouble(String.valueOf(entity.getFontAngle())))),
entity.getFontAngle());
}
}
}
}
// on:设置图片水印
if (StringUtil.equals(entity.getIsUsingi(), "true") || StringUtil.equals(entity.getIsUsingi(), "on")) {
// **************** 图片水印 *********************
for (int j = 0; j < imgPageRangeList.size(); j++) {
if (imgPageRangeList.get(j) == i) {
// 设置图片水印透明度
gs.setFillOpacity(entity.getImgTransparency().floatValue());
content.setGState(gs);
content.addImage(image);
}
}
}
content.endText();
}
}
stamper.close();
return bean;
}
/**
* 水印页码处理 pageRange 格式 预留的页码选项 "allPages":"全部页" "oddPages":"奇数页"
* "evenPages": "偶数页" "firstPages": "仅首页" "unFirstPages": "非首页"
*
*/
private List<Integer> pageRangeHandle(String pageRange, int total) {
// 用户定制了页码
List<Integer> pageList = new ArrayList<>();
// 全部页码
if (pageRange.equals("全部页")) {
for (int i = 1; i <= total; i++) {
pageList.add(i);
}
// 奇数页
} else if (pageRange.equals("奇数页")) {
for (int i = 1; i <= total; i++) {
if (i % 2 == 1) {
pageList.add(i);
}
}
// 偶数页
} else if (pageRange.equals("偶数页")) {
for (int i = 1; i <= total; i++) {
if (i % 2 == 0) {
pageList.add(i);
}
}
// 仅首页
} else if (pageRange.equals("仅首页")) {
pageList.add(1);
// 非首页
} else if (pageRange.equals("非首页")) {
for (int i = 2; i <= total; i++) {
pageList.add(i);
}
// 用户自定义页码
} else {
// 拆分用户自定义的字符串
String pageStr[] = pageRange.trim().split(",");
for (int i = 0; i < pageStr.length; i++) {
if (!StringUtil.isEmpty(pageStr[i].trim())) {
pageList.add(Integer.parseInt(pageStr[i].trim()));
}
}
}
return pageList;
}
/**
* 将十六进制转成RGB颜色
*/
private List<Integer> convertToColor(String colorStr) {
List<Integer> rgbList = new ArrayList<>();
String str2 = colorStr.substring(0, 2);
String str3 = colorStr.substring(2, 4);
String str4 = colorStr.substring(4, 6);
int red = Integer.parseInt(str2, 16);
int green = Integer.parseInt(str3, 16);
int blue = Integer.parseInt(str4, 16);
rgbList.add(red);
rgbList.add(green);
rgbList.add(blue);
return rgbList;
}
/**
* 处理水印文字换行问题
*/
private List<String> changeRow(String fontText) {
List<String> fontTextList = new ArrayList<>();
String[] fontTextArr = null;
// 切割页面的水印内容
if (StringUtil.isNotEmpty(fontText)) {
fontTextArr = fontText.split("\r\n");
for (int i = 0; i < fontTextArr.length; i++) {
fontTextList.add(fontTextArr[i]);
}
}
return fontTextList;
}
/**
* pdf水印数据保存到DB
* @param entity
*/
public ResultBean saveToDB(TbWaterPrintInfo entity , MultipartFile imgFile) {
ResultBean bean = new ResultBean();
// 如果文件为空,则属于回显case,不需要上传,从entity中获取
if(imgFile != null && imgFile.getSize() != 0){
String imgId = waterPrintWordService.uploadFile(imgFile);
String imgName = imgFile.getOriginalFilename();
entity.setImgId(imgId);
entity.setImgName(imgName);
// 图片日期存在remark2字段中
entity.setRemark2(DateUtil.getShortSysDateString());
} else {
String imgId = entity.getImgId();
String imgName = entity.getImgName();
entity.setImgId(imgId);
entity.setImgName(imgName);
// 图片日期存在remark2字段中
entity.setRemark2(entity.getRemark2());
}
int result = -1;
// seqno等于null,则为新增case
if (StringUtil.equals(null, entity.getSeqno()) || StringUtil.equals("", entity.getSeqno())) {
// 唯一性check
this.isUsedCheck(entity.getPrintTitle());
// 水印参数主键seqno采番
String seqno = super.getSeqNo(OpfSeqNoKey.SEQNO_TB_WATER_PRINT, 8);
entity.setSeqno(seqno);
// 删除标志
entity.setDeleteFlag("0");
result = (Integer) this.insert(entity, OpfSqlmapConstants.TB_WATER_PRINT_INFO_INSERT);
} else {
// 更新的case
result = this.update(entity, OpfSqlmapConstants.TB_WATER_PRINT_INFO_UPDATEBYPRIMARYKEY);
}
if (result > 0) {
bean.setStatus(true);
} else {
bean.setStatus(false);
}
return bean;
}
//水印管理删除
public ResultBean delete(String seqno) {
ResultBean bean = new ResultBean();
TbWaterPrintInfo entity = new TbWaterPrintInfo();
entity.setSeqno(seqno);
int update = this.update(entity, OpfSqlmapConstants.TB_WATER_PRINT_INFO_DELETE);
if (update>0) {
bean.setStatus(true);
}else {
bean.setStatus(false);
}
return bean;
}
/**
* 水印保存时的水印名称的唯一性check
*/
public boolean isUsedCheck(String printTitle) {
TbWaterPrintInfo entity = new TbWaterPrintInfo();
entity.setPrintTitle(printTitle);
entity = super.searchOneData(entity, OpfSqlmapConstants.TB_WATER_PRINT_INFO_ISUSEDCHECK);
if (entity == null || StringUtil.isBlank(entity.getPrintTitle())) {
return true;
} else {
throw new BusinessException("水印名称已存在!");
}
}
}
//*****************************完整的@service-pdf-结束******************************