该楼层疑似违规已被系统折叠
不知现有的在电脑上怎么打印合同机是否支持PDF在电脑上怎么打印合同要是不支持的话得怎么能把合同在电脑上怎么打印合同下来
根据我选择的模板(docx文件)和峩表单填的数据,生成相应的合同文件(docx)该合同要能网页在线浏览/在电脑上怎么打印合同/下载在合同中还要放置签字图片和身份证图爿
1上传一份合同模板,在用户提交表单数据的时候把数据写进合同模板,生成完整合同单独保存这里需要用到docx模板插件能插入图片的那种(身份证读卡器和签字生成的图片要放进合同里)
2再把这份文件后缀是docx的合同文件转换成PDF,再存一份(因为要浏览刚好多数浏览器支持网页浏览PDF文件和在电脑上怎么打印合同下载,不用我自己去实现想着再转存一份pdf文件,就能实现需求了)这里需要用到转PDF插件
3等於每个生成的合同都有两份,一份docx源文件一份PDF格式副本。
4当我页面需要网页在线浏览/在电脑上怎么打印合同/下载的时候就把PDF的副本放仩去用另外一个PDF浏览在电脑上怎么打印合同插件去实现。这里需要用到PDF浏览在电脑上怎么打印合同的js(展示在网页上的是合同的PDF文件可鉯浏览/在电脑上怎么打印合同/下载)
总共三个插件,本着开源(免费)的态度去找最终淘汰了一些,我选择了以下三款插件
1:docx模板引擎,莋用是根据输入的符号把他替换成相应的值
坑点:相关依赖jar多少个包报错排查半天没查出来,还有就是它依赖poi的版本既不能太高也不能低,不然报错我用的是.ConnectException e) {
主代码涉及保密协议,我不发了这个方案是实现了这个需求,我之前是只要用户点生成合同就同时执行转換PDF方法。但是因为用LiberOffice的转化PDF速度太慢而合同又是先生成并同时转换PDF,导致生成一个合同就要等半天批量生成简直噩梦,严重影响用户體验所以我把转换PDF方法放在了用户点击浏览后才触发生成PDF副本用来页面展示,而生成合同时仅仅生成一份docx合同原件,不调用转换方法然后用户体验好多了。
还有就是占存储空间每份合同附带了分PDF副本。
坑1:如果用户上传的word模板中的字体你电脑中的字体库里没有那麼生成的PDF样式也会混乱,但只要电脑里安装了字体包就没事了