概述

印章是我国特有的历史文化产物,古代主要用作身份凭证和行驶职权的工具。它的起源是由于社会生活的实际需要。早在商周时代,印章就已经产生。如今的印章已成为一种独特的,融实用性和艺术性为一体的艺术瑰宝。传统的印章容易被坏人、小人私刻;从而新闻鲜有报道某某私刻公章,侵吞国家财产。随着计算机技术、加密技术及图像处理技术的发展,出现了电子签章。电子签章是电子签名的一种表现形式,利用图像处理技术、数字加密技术将电子签名操作转化为与纸质文件盖章操作相同的可视效果,同时利用电子签名技术保障电子信息的真实性和完整性以及签名人的不可否认性。

电子签章与数字证书一样是身份验证的一种手段,泛指所有以电子形式存在,依附在电子文件并与其逻辑关联,可用以辨识电子文件签署者身份,保证文件的完整性,并表示签署者同意电子文件所陈述事实的内容。一般来说对电子签章的认定都是从技术角度而言的。主要是指通过特定的技术方案来鉴别当事人的身份及确保电子资料内容不被篡改的安全保障措施。电子签章常于发送安全电子邮件、访问安全站点、网上招标投标、网上签约、安全网上公文传送、公司合同、电子处方笺等。

技术选型

目前主流处理PDF文件两个jar包分别是:

开源组织Apache的PDFBox,官网https://pdfbox.apache.org/
大名鼎鼎adobe公司的iText,官网https://itextpdf.com/tags/adobe,其中iText又分为iText5和iText7
如何在PDFBox、iText5和iText7选出合适自己项目的技术呢?

对比PDFBox、iText5和iText7这三者:

PDFBox的功能相对较弱,iText5和iText7的功能非常强悍;

iText5的资料网上相对较多,如果出现问题容易找到解决方案;PDFBox和iText7的网上资料相对较少,如果出现问题不易找到相关解决方案;

通过阅读PDFBox代码目前PDFBox还没提供自定义签章的相关接口;iText5和iText7提供了处理自定义签章的相关实现

PDFBox只能实现把签章图片加签到PDF文件;iText5和iText7除了可以把签章图片加签到PDF文件,还可以实现直接对签章进行绘制,把文件绘制到签章上。

PDFBox和iText5/iText7使用的协议不一样。PDFBox使用的是APACHE LICENSE VERSION 2.0(https://www.apache.org/licenses/);iText5/iText7使用的是AGPL(https://itextpdf.com/agpl)。PDFBox免费使用,AGPL商用收费

本分享JAVA对PDF文件进行电子签章需要实现的功能:

生成证书。与PDFBox、iText5和iText7技术无关
按模板输出PDF文件:PDFBox、iText5和iText7都可以完成,但是PDFBox会遇到中文乱码比较棘手的问题
在PDF文件中实现把签章图片加签到PDF文件:PDFBox、iText5和iText7都可以实现,没有很多的区别
在PDF文件中绘制签章:iText5和iText7都可以实现,PDFBox目前不支持
在PDF文件中生成高清签章:iText5和iText7都可以实现,PDFBox目前不支持
在PDF文件中进行多次签名::PDFBox、iText5和iText7都可以完成,没有区别
通过相关技术分析和要实现的功能分析,采用iText5进行开发,唯一遗憾的是iText商用收费;但是这不是做技术需要关心的!!选用iText5的理由:

使用iText5能实现全部的功能
如何在开发中遇到相关问题,容易找到相应解决方案

PDF文件电子签章支持库比较相关推荐

  1. java给pdf文件电子签章

    电子签章简介: 电子签章,与我们所使用的数字证书一样,是用来做为身份验证的一种手段,泛指所有以电子形式存在,依附在电子文件并与其逻辑关联,可用以辨识电子文件签署者身份,保证文件的完整性,并表示签署者同 ...

  2. 使用Java对PDF进行电子签章

    使用Java对PDF进行电子签章 开始之前 前期准备 开始 生成keystore证书 来张材料全家福 编码 项目结构 签署工具类 开始之前 公司近期做的项目用到了电子签章(给PDF盖章签名),这过程真 ...

  3. java操作pdf制作电子签章

    #java操作pdf制作电子签章 ##电子签章简介 电子签章,与我们所使用的数字证书一样,是用来做为身份验证的一种手段,泛指所有以电子形式存在,依附在电子文件并与其逻辑关联,可用以辨识电子文件签署者身 ...

  4. 在嵌入在html中的pdf电子签章,一种网页PDF中电子签章定位方法与流程

    本发明属于一种电子签章技术领域,具体涉及一种网页PDF中电子签章定位方法. 背景技术: 国密电子签章中的套章方法操作复杂,无法对电子文档中一次性加盖多个印章的,大大降低了盖章效率,尤其是无法在所有需要 ...

  5. pdf翻译,两款pdf文件翻译软件,支持linux/ubuntu,window,mac下使用

    pdf翻译,两款pdf文件翻译软件,支持linux/ubuntu,window,mac下使用 Copytranslate pdfTranslator 阅读paper的时候经常要英文翻译,使用谷歌.百度 ...

  6. java使用poi、itextpdf将word、ppt转为pdf文件,并对pdf文件加盖签章

    1 环境及背景 SpringBoot项目,使用poi.itextpdf将excel.ppt.word文件转为pdf,并对pdf文件进行签章: 对Excel文件加图片水印,并加密设置为只读. 下面的方法 ...

  7. PDF电子签章,用鼠标拖动印章到指定的位置, 一种在网页PDF中电子签章定位方法

    目录 一.需求 二.最后的效果 三.解决思路 一.需求 在开发PDF电子签章(电子签名),后台用itextpdf进行签名,前台用pdf.js显示pdf文件,在前台用鼠标拖动印章到指定的位置,点击PDF ...

  8. Flutter PDF Android 电子签章不显示问题

    当我们Flutter 加载带电子签章的PDF的时候,会发现Android 页面的签章不会显示,而iOS的可以完美展示出来. 我试了很多PDF的插件都不行. 那目前只剩一个方法,那就是在展示的地方,判断 ...

  9. 实现文件中名词的统计计数_SOLIDWORKS PDM系统中如何实现PDF文件批量签章?

    1.SOLIDWORKS PDM签章功能使用 今天给大家介绍一下SOLIDWORKS PDM中如何实现PDF签章功能,首先我们先看一下使用方法:(在线观看视频链接:https://v.qq.com/x ...

最新文章

  1. 档案中级职称计算机需要考几个模块,2020年职称申报需要准备哪些档案资料?这些细节必须知道!...
  2. 人工智能创业指南:AI 产品未来的发展模式及策略
  3. 剑指offer(49)把字符串转换成整数。
  4. flask+vue进阶
  5. 【机器学习】一文读懂异常检测 LOF 算法(Python代码)
  6. C/C++函数调用约定
  7. 第三次学JAVA再学不好就吃翔(part108)--带缓冲的字符流
  8. python基础一 day6 文件操作
  9. python读yaml的库_Python读取YAML文件过程详解
  10. C++ emplace_back()是什么
  11. 3D动态相册实现代码
  12. open SUSE 查看本机ip地址
  13. 关于十二平均律及律学发展简史
  14. 美丽的夜,一个程序员的思考
  15. Fastlane使用说明
  16. python求线段长度_如何用python求线段长度
  17. C++将两个字符串合并在一起
  18. 2017开发语言排行(本人是搞C#+javascript的)
  19. mysql 超卖_mysql 解决超卖问题的锁分析
  20. 干货——MATLAB零基础入门学习

热门文章

  1. 定时且周期性的任务研究II--ScheduledThreadPoolExecutor
  2. 集易市场微信小程序项目
  3. Qt常见make编译错误:/usr/bin/ld:cannot find -lxxx
  4. 因子分析和主成分分析
  5. Java接入支付宝扫码支付
  6. php俄罗斯方块代码,JavaScript实现俄罗斯方块游戏过程分析及源码分享_javascript技巧...
  7. Web前端——立体相册的制作
  8. 编程小白须知,阿里、百度、华为这些大厂都用什么编程语言?别说不知道!
  9. python合并音频Couldn‘t find ffprobe or avprobe解决办法
  10. 第四章 DirectX 渲染流水线(上)