• Java实现HTML转换为PDF的常见方法


      最近在自己的项目中需要动态生成融资单合同,这里需要把对应的html转换为对应的pdf融资合同。因此需要通过Java实现将HTML转PDF。自己之前没有接触过这一块的东西,所以上网查了一下,网上有很多的工具可以处理这个问题~但是,总是感觉有点杂乱无章。在处理的过程中,也遇到了很多坑~今天刚好有时间,简单总结一下~算是一个纪念吧~

          先简单说一下我生成合同基本思路:

          我们这里使用的是velocity引擎,进行数据的填充

         1、业务方提供Word合同文档

         2、将word文档转为html文件

              此处需要注意,在转换的过程中,一定要注意标签格式要对应上。有开始标签,一定要结束标签。否者的话,在使用解析工具会解析失败的

              如果本人不确定如何转换的话,可以登录这个网址在线转换,本人亲测没问题~

              word抓换为html网址:http://www.docpe.com/word/word-to-html.aspx

         3、将html文档转换为以.vm结尾的freemark模板

              此处操作其实相对来说比较简单,其实只修改一下文件的后缀即可~

              如原来的文件名"合同.html" 你直接修改"合同.vm"即可

         4、在vm文件中填充对应的占位符,用于后期动态生成合同数据

              在对应的合同的VM界面中,对于需要填充数据的地方,使用freemarker占位符处理一下

              这样的话,在后期就可以动态填充数据了。

         5、上传vm形式的合同模板到云存储上面

               将对应的合同模板上传到京东云上面,这样每次需要生成对应的合同的时候,直接从云上面下载下来即可,考虑到性能的问题,你可以在首次下载

               完成后,将对应的模板添加到缓存里面,用来提高性能。

         6、获取到需要需要生成合同的数据,使用velocity(或freemarker)的填充占位符功能

              生成合并后的html数据

         7、使用转换工具,将html文件抓换为pdf合同

              将html文件数据转换为pdf合同

         8、上传合同数据到云上,并保存合同连接~    

              上传合同pdf到京东云上面,并且保存对应的合同连接~ 

        

        下面我们重点介绍HTML生成PDF的几种常见方法:

        

         方法一: 

         

  • 相关阅读:
    第二十次codeforces竞技结束 #276 Div 2
    POJ 3414 Pots 记录路径的广搜
    C++primer原书中的一个错误(派生类using声明对基类权限的影响)
    leetcode day6 -- String to Integer (atoi) && Best Time to Buy and Sell Stock I II III
    Android仿iOS7的UISegmentedControl 分段
    SICP 习题 (2.6) 解题总结:丘奇计数
    java中super()和this()浅析
    学习日记之命令模式和Effective C++
    因特网的IP协议是不可靠无连接的,那为什么当初不直接把它设计为可靠的?
    OpenCV HaarTraining代码解析(二)cvCreateMTStumpClassifier(建立决策树)
  • 原文地址:https://www.cnblogs.com/xiohao/p/5861747.html
Copyright © 2020-2023  润新知