itext怎么设置空白的签名域 急急急!!!!

太阳贼厉害 2017-02-16 11:08:49
用itext生成pdf怎么给pdf设置签名域 注(是给PDF设置空白的签名域,不是验证签名)
...全文
523 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
林二棍子 2017-06-30
  • 打赏
  • 举报
回复
/** * 在已有的PDF文件中添加签名区域 * * @param stamper PDF文件编辑对象 * @param sigName 签字区域名称 * @param pageNo 页面 * @param rect 绝对位置 * @param b 边框厚度 */ public static void addAppearance(PdfStamper stamper, String sigName, int pageNo, Rectangle rect, float b) { // 创建数字签名域 PdfFormField field = PdfFormField.createSignature(stamper.getWriter()); field.setFieldName(sigName); // set the widget properties // field.setPage(pageNo); field.setWidget(rect, PdfAnnotation.HIGHLIGHT_NONE); field.setFlags(PdfAnnotation.FLAGS_PRINT); // System.out.println(rect.getWidth() + "*" + rect.getHeight()); // 设置区域宽高和边框厚度,以及边框颜色,填充颜色 PdfAppearance tp = PdfAppearance.createAppearance(stamper.getWriter(), rect.getWidth(), rect.getHeight()); tp.setColorStroke(new Color(0, 0, 200)); tp.setColorFill(new Color(230, 230, 240)); // 绘制并填充 tp.rectangle(b / 2, b / 2, rect.getWidth() - b, rect.getHeight() - b); tp.fillStroke(); // 支持中文 try { BaseFont cnBaseFont = loadFont("SIMFANG"); // 加载字体,请自己实现 Font cnFont = new Font(cnBaseFont, 9, Font.NORMAL, Color.BLACK); ColumnText.showTextAligned(tp, Element.ALIGN_CENTER, new Phrase(40f, "签名区域", cnFont), rect.getWidth() / 2, rect.getHeight() / 2, 0); } catch (Exception e) { LOG.error("创建签名区域失败, 区域名称:" + sigName, e); } field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, tp); // add it as an annotation stamper.addAnnotation(field, pageNo); }
世外大帝 2017-04-21
  • 打赏
  • 举报
回复
问对人了,我之前用移动端想做签名没做出来,做出来一堆空白签名域

50,535

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧