PDF 添加水印、页眉页脚、签名等

接上一篇:itextpdf 利用模板生成pdf 下载_音乐土豆的博客-CSDN博客

1、添加水印

自定义水印内容格式等

public class WaterMark extends PdfPageEventHelper {//定义水印 HELVETICA 大小:30 颜色:GrayColor 灰色Font waterFont = new Font(Font.FontFamily.HELVETICA, 30, Font.BOLD, new GrayColor(0.95f));private String waterContent;public WaterMark(){};public WaterMark(String waterContent){this.waterContent = waterContent;}@Overridepublic void onEndPage(PdfWriter writer, Document document) {for(int i = 0; i < 5; i++) {for(int j = 0; j < 5; j++) {ColumnText.showTextAligned(writer.getDirectContentUnder(),//字体下方Element.ALIGN_CENTER,//居中new Phrase(this.waterContent == null ? "HELLO PDF" : this.waterContent, waterFont),//水印内容(50.5f + i*350),(40.0f + j*150),writer.getPageNumber() % 2 == 1 ? 45 : -45);}}}
}

pdf 加入 水印

PdfWriter writer = PdfWriter.getInstance(document, out);
//添加水印
writer.setPageEvent(new WaterMark("water mark"));

效果如下

2、页眉页脚

自定义页眉页脚

public class MyHeaderFooter extends PdfPageEventHelper {PdfTemplate totalPage;Font hfFont;{try {hfFont = new Font(BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED), 8, Font.NORMAL);} catch (Exception e) {e.printStackTrace();}}/*** 打开文档时,创建一个总页数的模版*/@Overridepublic void onOpenDocument(PdfWriter writer, Document document) {PdfContentByte cb =writer.getDirectContent();totalPage = cb.createTemplate(30, 16);}@Overridepublic void onEndPage(PdfWriter writer, Document document) {PdfPTable table = new PdfPTable(3);try {table.setTotalWidth(PageSize.A4.getWidth() - 100);table.setWidths(new int[] { 24, 24, 3});table.setLockedWidth(true);table.getDefaultCell().setFixedHeight(-10);table.getDefaultCell().setBorder(Rectangle.BOTTOM);// 可以直接使用addCell(str),不过不能指定字体,中文无法显示table.addCell(new Paragraph("www.test.com", hfFont));table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);table.addCell(new Paragraph(writer.getPageNumber() + "/", hfFont));// 总页数PdfPCell cell = new PdfPCell(Image.getInstance(totalPage));cell.setBorder(Rectangle.BOTTOM);table.addCell(cell);// 将页眉写到document中,位置可以指定,指定到下面就是页脚
//            table.writeSelectedRows(0, -1, 50,PageSize.A4.getHeight() - 20, writer.getDirectContent());table.writeSelectedRows(0, -1, 50,PageSize.A4.getBottom() + 20, writer.getDirectContent());} catch (Exception de) {throw new ExceptionConverter(de);}}/*** 全部完成后,将总页数的pdf模版写到指定位置*/@Overridepublic void onCloseDocument(PdfWriter writer, Document document) {String text = "总" + (writer.getPageNumber()) + "页";ColumnText.showTextAligned(totalPage, Element.ALIGN_LEFT, new Paragraph(text,hfFont), 2, 2, 0);}}

pdf 添加 页眉页脚

//添加页眉页脚
writer.setPageEvent(new MyHeaderFooter());

效果如下

3、添加签名

同添加图片

private void appendSignToDocument(Document document){try{Image sign = Image.getInstance("D:\\PDF-TEST\\signName.jpg");sign.setAlignment(Image.ALIGN_RIGHT);//缩放比例sign.scalePercent(4);document.add(sign);}catch (Exception e){e.printStackTrace();}
}

如下图

pdf 添加水印、页眉页脚、签名相关推荐

  1. c# .net生成pdf创建pdf,pdf签名pdf合并pdf增删页面页眉页脚批注旋转提取图片文本加水印等的类库SharpPDF

    SharpPDF是一款在.net平台实现PDF生成和编辑的解决方案级产品.可以在Winform,WPF,WebAPI,WebService,MVC,WebForm等多种类型项目中,轻松实现一行代码生成 ...

  2. html pdf支持css%写法吗,flying-saucer-pdf终于完美解决了(中文问题,换行问题,分页,页眉页脚,水印),html+css控制pdf样式...

    集成freemarker+flying-saucer-pdf+itext,通过html模板生成PDF 折腾了很久,flying-saucer-pdf终于完美解决了(中文问题,换行问题,页眉页脚,水印) ...

  3. SpringBoot html转pdf 支持中文、图片水印+文字水印、页眉页脚 flying-saucer-pdf-itext5 + freemarker

    使用 flying-saucer-pdf-itext5加freemarker生成pdf,支持中文.图片水印+文字水印.页眉页脚. 引入jar包 <!-- freemarker --> &l ...

  4. XMLWorkerHelper生成pdf文件添加页眉页脚

    一.Controller代码 import java.io.ByteArrayInputStream; import java.io.FileOutputStream; import java.io. ...

  5. itext总页数_itext 生成pdf文件添加页眉页脚

    原文来自:https://www.cnblogs.com/joann/p/5511905.html 我只是记录所有jar版本,由于版本冲突及不兼容很让人头疼的,一共需要5个jar, 其中itextpd ...

  6. Java 处理PDF文档(一):页眉页脚、水印、背景、附件

    前言 本文将介绍通过Java编程来处理PDF文档的一些方法,因为一篇文档的处理可能包括很多内容,比如文档安全性设置(水印.加密/解密).文本/图片/图形操作.注释.附件.域.文档转换(其他文件格式转为 ...

  7. Java生成pdf设置两行页脚_Itextpdf 5 html生成pdf 页眉页脚

    效果图 QQ图片20190117140345.png 继承PdfPageEventHelper重写onEndPage方法 package com.xuqiang.itext.test; import ...

  8. PDF页眉页脚怎么设置

    页眉和页脚:通常显示文档的附加信息,常用来插入时间.日期.页码.单位名称.微标等.其中,页眉在页面的顶部,页脚在页面的底部.相信在Word里面添加页眉页脚大家都知道该怎么做的,那么现在我们经常使用的另 ...

  9. 【Itext】7步制作Itext5页眉页脚pdf实现第几页共几页

    itext5页眉页脚工具类,实现page x of y 完美兼容各种格式大小文档A4/B5/B3,兼容各种文档格式自动计算页脚XY轴坐标 鉴于没人做的这么细致,自己就写了一个itext5页眉页脚工具类 ...

  10. pdf页眉页脚设置步骤

    当我们在使用一份pdf文件的时候,想要给pdf文件添加上页眉与页脚我们应该怎么去操作呢?如果小伙伴们想要知道答案的话,继续往下面阅读就可以知道答案了哦. 操作软件:迅捷PDF编辑器(PDF编辑器下载) ...

最新文章

  1. AI 架构师 Yoshua Bengio:深度学习的研究,对于工业应用来说太过简单
  2. thinkphp 微信授权登录 以及微信实现分享
  3. php 之mysqli简单封装
  4. java file类包_Java中File类的常用API
  5. C++中两个数交换不引进中间变量的方法
  6. Spring事务那些事儿
  7. js/json 数组的操作
  8. 热门加壳工具VMProtect v3.1发布,新增内存保护,性能改进|附下载
  9. php laypage 开发demo,laypage+laytpl示例
  10. win10怎么安装ie11
  11. 级数ex展开_方亚斌---用ex的幂级数展开式编拟高考题
  12. word 中的背景图片(浮动图形)怎么批量删除
  13. 常见对称加密、解密、破解
  14. arcgis api for javascript 的swipe的使用
  15. 南京城市公共自行车推出共享单车,停在车桩附近可免费使用
  16. 微信文章排版技巧和相关排版工具
  17. 日历+石墨做团队管理
  18. SIM卡中的ef文件介绍
  19. oracle 11g r2 Rac install
  20. 报错ImportError: cannot import name ‘webdriver‘ from partially initialized module ‘selenium‘ (most lik

热门文章

  1. HORAE深入思考及长久性论证
  2. 语音情绪识别.PDF
  3. 利用matlab实现非线性拟合(三维、高维、参数方程)
  4. 蒋志平从零到亿的创业路
  5. (附源码)Springboot人体健康检测微信小程序 毕业设计012142
  6. torch.chunk
  7. Git的基础用法总结
  8. audio驱动之简单介绍
  9. 信迈AM5728 DSP+ARM高性能图像处理核心板功能介
  10. 【Mongodb】常用的一些功能