pdf 添加水印、页眉页脚、签名
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 添加水印、页眉页脚、签名相关推荐
- c# .net生成pdf创建pdf,pdf签名pdf合并pdf增删页面页眉页脚批注旋转提取图片文本加水印等的类库SharpPDF
SharpPDF是一款在.net平台实现PDF生成和编辑的解决方案级产品.可以在Winform,WPF,WebAPI,WebService,MVC,WebForm等多种类型项目中,轻松实现一行代码生成 ...
- html pdf支持css%写法吗,flying-saucer-pdf终于完美解决了(中文问题,换行问题,分页,页眉页脚,水印),html+css控制pdf样式...
集成freemarker+flying-saucer-pdf+itext,通过html模板生成PDF 折腾了很久,flying-saucer-pdf终于完美解决了(中文问题,换行问题,页眉页脚,水印) ...
- SpringBoot html转pdf 支持中文、图片水印+文字水印、页眉页脚 flying-saucer-pdf-itext5 + freemarker
使用 flying-saucer-pdf-itext5加freemarker生成pdf,支持中文.图片水印+文字水印.页眉页脚. 引入jar包 <!-- freemarker --> &l ...
- XMLWorkerHelper生成pdf文件添加页眉页脚
一.Controller代码 import java.io.ByteArrayInputStream; import java.io.FileOutputStream; import java.io. ...
- itext总页数_itext 生成pdf文件添加页眉页脚
原文来自:https://www.cnblogs.com/joann/p/5511905.html 我只是记录所有jar版本,由于版本冲突及不兼容很让人头疼的,一共需要5个jar, 其中itextpd ...
- Java 处理PDF文档(一):页眉页脚、水印、背景、附件
前言 本文将介绍通过Java编程来处理PDF文档的一些方法,因为一篇文档的处理可能包括很多内容,比如文档安全性设置(水印.加密/解密).文本/图片/图形操作.注释.附件.域.文档转换(其他文件格式转为 ...
- Java生成pdf设置两行页脚_Itextpdf 5 html生成pdf 页眉页脚
效果图 QQ图片20190117140345.png 继承PdfPageEventHelper重写onEndPage方法 package com.xuqiang.itext.test; import ...
- PDF页眉页脚怎么设置
页眉和页脚:通常显示文档的附加信息,常用来插入时间.日期.页码.单位名称.微标等.其中,页眉在页面的顶部,页脚在页面的底部.相信在Word里面添加页眉页脚大家都知道该怎么做的,那么现在我们经常使用的另 ...
- 【Itext】7步制作Itext5页眉页脚pdf实现第几页共几页
itext5页眉页脚工具类,实现page x of y 完美兼容各种格式大小文档A4/B5/B3,兼容各种文档格式自动计算页脚XY轴坐标 鉴于没人做的这么细致,自己就写了一个itext5页眉页脚工具类 ...
- pdf页眉页脚设置步骤
当我们在使用一份pdf文件的时候,想要给pdf文件添加上页眉与页脚我们应该怎么去操作呢?如果小伙伴们想要知道答案的话,继续往下面阅读就可以知道答案了哦. 操作软件:迅捷PDF编辑器(PDF编辑器下载) ...
最新文章
- AI 架构师 Yoshua Bengio:深度学习的研究,对于工业应用来说太过简单
- thinkphp 微信授权登录 以及微信实现分享
- php 之mysqli简单封装
- java file类包_Java中File类的常用API
- C++中两个数交换不引进中间变量的方法
- Spring事务那些事儿
- js/json 数组的操作
- 热门加壳工具VMProtect v3.1发布,新增内存保护,性能改进|附下载
- php laypage 开发demo,laypage+laytpl示例
- win10怎么安装ie11
- 级数ex展开_方亚斌---用ex的幂级数展开式编拟高考题
- word 中的背景图片(浮动图形)怎么批量删除
- 常见对称加密、解密、破解
- arcgis api for javascript 的swipe的使用
- 南京城市公共自行车推出共享单车,停在车桩附近可免费使用
- 微信文章排版技巧和相关排版工具
- 日历+石墨做团队管理
- SIM卡中的ef文件介绍
- oracle 11g r2 Rac install
- 报错ImportError: cannot import name ‘webdriver‘ from partially initialized module ‘selenium‘ (most lik