java如何使用生成PDF并加盖电子章

最近在做项目的时候遇到一个场景,需要将线下的纸质文件转换为线上文档,生成PDF,并且加盖电子章(PS:此处的电子章指代图片章)。并且需要开源的方法技术,在网上看到了很多相关的,但是很多都不是开源或者符合我的要求的。下面分享一下我的做法和思路:

我采用的方法是Java+Freemarker,

主要用到的jar包为:itext-2.07.jar freemarker-2.3.18

主体结构:

先按照样本编写ftl模板,然后传值至该模板,生成HTML,再根据HTML生成PDF,将中间产物HTML删除。

部分代码如下:

public static void contractHandler(String templateName,Map<String, Object> paramMap) throws Exception{// 获取本地模板存储路径、合同文件存储路径String templatePath = TEMPLATE;String contractPath = CONTRACT;// 组装html和pdf合同的全路径URLString localHtmlUrl = contractPath + HTMLNAME + ".html";String localPdfPath = contractPath + "/";File localFile = new File(localPdfPath);if (!localFile.exists()) {localFile.mkdirs();}String localPdfUrl = localFile + "/" + PDFNAME + ".pdf";templateName=templateName+".ftl";htmHandler(templatePath, templateName, localHtmlUrl, paramMap);// 生成html合同pdfHandler(localHtmlUrl, localPdfUrl);// 根据html合同生成pdf合同deleteFile(localHtmlUrl);// 删除html格式合同System.out.println("放柜确认书PDF生成成功");}

效果图如下:

Demo链接:https://download.csdn.net/download/AnLing1314/15677596

工作篇之---PDF生成盖章相关推荐

  1. 首篇BEV感知生成工作!BEVGen:从鸟瞰图布局生成环视街景图像

    摘要 鸟瞰图(BEV)感知近年来受到越来越多的关注,因为它提供了跨视图的简洁和统一的空间表示,并有利于多种下游驾驶应用.虽然重点放在区分性任务上,如BEV分割,但从BEV视角生成街景图像的双重生成任务 ...

  2. 【itext学习之路】--5.对pdf进行盖章/签章/数字签名

    来源:[itext学习之路]-------(第五篇)对pdf进行盖章/签章/数字签名_tomatocc的博客-CSDN博客_itext 数字签名 在上一篇文章中,我们学习了使用itext对pdf增加图 ...

  3. 一网打尽Mac上的高效工具 - 效率工作篇(附演示视频)

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  4. java使用freemark实现word(.doc/.docx)/pdf生成和导出(附源码和模板文件)

    freemark生成word/pdf 一. 背景 二.实现的技术选型以及遇到的坑 三.最终的效果 2.1 `.doc` word效果展示 2.1 `.docx` word效果展示 2.2 docx w ...

  5. reportlab教程1--第一个pdf生成

    实际生活工作中,我们会希望有些报告.图表可以自动生成,然后变成pdf,甚至直接发邮件到某个制定邮箱lib.这个时候有几种方式可以来实现,譬如用latex,但是这个似乎还要在电脑上装很多东西.还有一个p ...

  6. php imagick 取得psd缩略图,PHP利用imagick读取PDF生成png缩略图的两种方法

    PHP利用imagick读取PDF生成png缩略图的两种方法 发表于2019-04-24 06:08| 次阅读| 来源网络整理| 作者session 摘要:PHP利用imagick读取PDF生成png ...

  7. 原创:《Python之路实战40篇》PDF高清版,限时下载!

    内容简介 1 <Python之路40篇实战 .pdf>包含Python篇.数据分析篇.机器学习篇等 3 大模块,目录如下: 下载方式 2 关注公众号「Python与算法社区」,后台回复一个 ...

  8. 吴军《硅谷来信》工作篇学习总结

    [学习总结]| 作者 / Edison Zhou 这是恰童鞋骚年的第215篇原创文章 2018年在得到App上订阅了吴军老师的<硅谷来信>,从此每天的碎片时间就开始听吴军老师在大洋彼岸寄来 ...

  9. 第一次来请大家多多关照---毕业生找工作篇

    送给2015大学刚毕业找工作篇 本人声明不是应届毕业生但是 我也经历过艰辛的找工作的旅程 到现在的猎头找上我来 感觉确实爽yy 我就把自己先整理下 大部分朋友也可以这样做 我会的技术 php,mysq ...

  10. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码...

    C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 原文:C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 前言 系列 ...

最新文章

  1. php tr 用法,Linux_Linux系统中tr命令删除和替换文本字符的基本用法,通过使用 tr,您可以非常容易 - phpStudy...
  2. Python之创建tuple
  3. PAT-1124. Raffle for Weibo Followers (20)
  4. logging下的path配置的是自己本地项目下的地址
  5. 免费直播公开课 | 图卷积神经网络, BERT, 对话生成,知识图谱
  6. Struts初步知识
  7. poj 1185 火炮 (减少国家DP)
  8. 怎样进入VBA编辑器
  9. PHP设计模式——迭代器模式
  10. 高效使用 Mac Dock 的炫酷技巧
  11. shell脚本检测监控mysql的CPU占用率
  12. 用c语言编写一个打勾的图形,C语言图形编程.ppt
  13. json的格式是什么?
  14. 北京地铁行业远期规划与建设融资规划报告2022版
  15. 校运会计算机应用口号,校运会入场霸气押韵口号(精选60句)
  16. 基于vue,自定义条形进度条/辣条进度条
  17. 【支付】网络支付-支付网关模式与虚拟账户模式
  18. 生成对抗网络 Generative Adversarial Nets(GAN)详解
  19. ZZULIOJ1076-1080Python解法
  20. js截取url所带参数方法与url截取字段中包含中文会乱码的解决方案

热门文章

  1. 富爸爸穷爸爸 (全球最佳财商教育系列)——2019年04月18日15:25:56
  2. 成都最最最牛逼的IT公司全在这了
  3. http://wang-min-zhao-sina-com.iteye.com/blog/1467204
  4. this关键字的作用
  5. 新手建站必看,怎么选择主机空间?
  6. Python中import的用法
  7. 什么是Base64算法?——全网最详细讲解
  8. 通达信波段王指标公式主图_通达信波段操盘主图指标公式
  9. 什么是超图(Hypergraph)网络?
  10. 测试英语口语软件,‎App Store 上的“英语口语8000句 - 最新英语口语听力查词软件”...