根据PDF模板生成PDF文件,这里主要借助iTextSharp工具来完成.场景是这样的,假如要做一个电子协议,用过通过在线填写表单数据,然后系统根据用户填写的数据,生成电子档的协议.原理很简单,但是每个技术人员解决问题的思路不太一样.也有朋友直接通过Canvas来实现,过程是把内容排版好,然后生成图片,然后根据图片生成PDF文件,这种方式有个问题,如果要是要求兼容移动端的话,在移动设备上排版出来的效果肯定不太一样,导致最终生成的电子协议和期望的相差太大.下面我们就利用PDF中的表单元素,来完成P…
我们需要生成一些固定格式的pdf文件或者一些报表数据,那么我们可以用 iText包去做. 需要包含的jar包:iText-5.0.6.jar    iTextAsian.jar ,怎样jar包导入工程,在这里就不再赘述了,可自行网上搜索. 1.再word里建立一个表单,也就是你的pdf模板格式 2.把word保存为pdf格式 3.用迅捷pdf编辑器打开保存的pdf 保存pdf为模板,取名名字"PdfTemplate"(随便取名). 以下是代码部分: 1 public void Fill…
Java项目引入 Freemarker 插件自行完成. 步骤如下: .编写 Word 模板,并将模板中要用代码动态生成数据用 Freemarker 变量取代,即${变量名},如${username}: .把该 word 文档 另存为 xml 文件(格式选择 Word XML,注意是另存为,不是改扩展名为 xml),然后再改扩展名为 ftl: .用编辑软件打开最后的 ftl 文件,并用查找功能查找第一步中定义的变量名,如:username, 就会发现 Word 软件在将 Word 转为 xml 过…
使用word模板生成pdf文件 源码:UserWord…
原文链接:https://www.cnblogs.com/wangpeng00700/p/8418594.html 在网上看了一些Java生成pdf文件的,写的有点乱,有的不支持写入中文字体,有的不支持模板,有的只是随便把数据放里面生成文件,完全不考虑数据怎样放置的以及以后的维护性,想想还是自己总结一个完全版的导出pdf的工具类吧,总结一下网上的方法,加上自己的完善. 本次完善综合特点: 一对一,点对点的给对应的地方写值,比如模板里面放了个name标识,在程序里把“张三”赋给name,那么输出的…
1.准备工作 (1)Adobe Acrobat pro软件:用来制作导出模板 (2)itext的jar包 2.开始制作pdf模板 (1)先用word做出模板界面 (2)文件另存为pdf格式文件 (3)通过Adobe Acrobat pro软件打开刚刚用word转换成的pdf文件 (4)点击右边的"准备表单"按钮,选择"测试.pdf"选择开始(选择工具栏里面添加文本域,可以选择在任意位置添加你想要的文本域.在文本域属性框可以设置文本的属性,例如文本的名称.字体大小.位…
Itextpdf + Adobe Acrobat DC填充模板生成pdf快速入门 生成pdf有很多种方法,如通过freemarker,或 使用itextpdf.本文将使用itextpdf生成pdf 1.下载Adobe Acrobat DC 并安装 从官网http://get.adobe.com/cn/reader/otherversions/下载 或者下载绿色版本 安装完之后又如下图标: 2.将word文件通过Adobe Acrobat DC生成pdf模板 如需要填充的是姓名和身份信息,如设置属…
通过程序读取Word文档模板生成PDF时,所有目录的页码全部变为“错误!未定义书签!”,后来经过仔细研究,发现是“域”的问题. 解决办法:全选(Crtl+A),按下Crtl+F11,再打印或者另存为PDF即可. 相关资料: 1.什么是Word的“域”? Word域可以实现许多复杂的工作,自动编页码.图表的题注.脚注.尾注的号码等,都可以通过Word的域来快速完成. 2.怎么禁止域的自动更新? 选中要锁定的域,按“Ctrl+F11”组合键即可锁定该域,从而防止该域被更新(只对具有更新特性的域有效,…
1.  准备模板 模板 + 数据 = 模型 1.将准备好的Word模板文件另存为.xml文件(PS:建议使用WPS来创建Word文件,不建议用Office) 2.将.xml文件重命名为.ftl文件 3.用文本编辑器打开.ftl文件,将内容复制出来,格式化一下,再覆盖原来的内容 (PS:格式化一下是为了方便查找并设置变量/占位符,当然设置好模板参数变量以后可以再压缩后再写会.ftl文件) 4.设置模板参数(变量/占位符) 2.  代码实现 pom.xml <?xml version="1.0…
利用html模板生成Word文件(服务器端不需要安装Word) 由于管理的原因,不能在服务器上安装Office相关组件,所以只能采用客户端读取Html模板,后台对模板中标记的字段数据替换并返回给客户端的方法来实现,经过测试这种方法也是一种不错的选择! 首先自己写一个html网页模板,代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>…
iTextSharp是一款开源的PDF操作类库,使用它可以快速的创建PDF文件. 中文参考网站:http://hardrock.cnblogs.com/ http://pdfhome.hope.com.cn/Article.aspx?CID=bf51a5b6-78a5-4fa3-9310-16e04aee8c78&AID=f5fe52dd-8419-4baa-ab1c-ea3f26952132 英文参考网站:http://itext.ugent.be/library/ ·  技术文章(http:…
1.导入需要的jar包:itext-asian-5.2.0.jar itextpdf-5.5.11.jar. 2.新建word文档,创建模板,将文件另存为pdf,并用Adobe Acrobat DC打开编辑,点击右侧[准备表单]后点击[开始] 3.在需要插入数据的空白处,右击,点击[文本域],将文本域拖放到你想要的位置,更改域名称为你传入的变量名. 4.保存文件,将文件放到项目中.生成pdf代码如下: public static void creatPdf(Map<String, Object>…
1.制作PDF模板 网址打开:https://www.pdfescape.com/open/ 我们这里先在线上把基础的内容用word文档做好,然后转成PDF模板,直接上传到网站上,这样方便点 假设我们pdf是这样 然后我们选择文件上传到网站上之后,如下图所示 选择文件后,点击upload ,或者可以把文件直接用鼠标拖到Drop PDF Here的位置,也会直接上传,上传成功之后会跳转页面,所下图所示 接着我们可以进行操作,点击左上角 Form Field,这个是插入字段(你可以理解成是java中…
关于怎么通过freemarker模板生成excel的文章很多,关键点在于怎么制作模板文件.ftl 网上的办法是: (1)把Excel模板的格式调好,另存为xml文件 (2)新建一个.ftl文件,把xml文件内容copy进去,把变量换成FreeMarker的插值   当然可行,但是这样制作的.ftl文件偏大,可读性很低     我是这样制作的,直接写HTML标签 <table> <thead> <tr> <td>资产端简称</td> <td&…
背景 基于 PDF Template 预填充表单项,生成一份新的 PDF 文件,并保留表单域允许继续修改. 代码段 using iTextSharp.text.pdf; /* Code Snippet */ using (var dia = new SaveFileDialog()) { dia.Filter = @"PDF files|*.pdf"; dia.FileName = string.Format("PDF_{0}", DateTime.Today.To…
import com.alibaba.fastjson.JSONObject; import com.aliyun.oss.OSSClient; import com.itextpdf.text.pdf.*; import com.swetake.util.Qrcode; import com.titifootball.common.base.BaseController; import com.titifootball.presentation.common.constant.Presenta…
一.准备工作 1.创建一个03的word文档,动态的数据用占位符标志占位(如testname).然后另存为word2003的xml文件. 2.格式化xml文件,占位符的位置用${testname}代替,若有多行格式相同数据等,用List循环. 注意事项: 1.不要用Eclipse工具去格式化xml文件(会导致导出的word文件不能用office软件打开,但是PDF能打开,估计是pdf的容错率高于office),推荐使用firstObject工具格式化xml文件. 2.xml中进行替换的时候: 变…
1.代码部分 import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner;   import java.io.FileInputStream; import java.io.FileOutputStream…
最近业务需要批量打印准考证信息 1.根据Table数据进行循环替换,每次替换的时候只替换Word中第一个Table的数据, 2.每次替换之后将Word中第一个Table数据进行复制,将复制Table和上次替换的Table合并为一个Table.由于替换后的Table中不存在占位符,只有复制的Table中存在占位符,所有每次循环根据占位符替换最新数据就可以达到批量生成Word的目的了 Word模板: 批量替换后的Word: using System; using System.Collections…
一.编辑模板 替换地方以变量标记如“案件编号”可写成{caseNo} template.xml 二.准备数据 以HashMap封装数据,原理是替换模板中的变量 三.替换操作 选择输出位置:writePath WordUtil.printWordbyXMLWithOutputPath(templateFile, writePath, filename, dataMap); /** * 打印word文档(传入参数需要传入输出文件的保存路径的) * @param templateFile * @par…
 注意:1. 模板需放在 WEB-INF 目录下2. 指定模板路径时不需要添加扩展名, Spring将自动添加 .xls 到URL 属性中.3. 在指定URL前需先设置 view 的 ApplicationContext 1. 控制器配置 control-context.xml   HSSFWorkbook wb, HttpServletRequest request, HttpServletResponse reqponse)   Object[] datas = (Object[]) mod…
来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等.方便用户查看,下载,打印.目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户. 本文源码:http://git.oschina.net/lujianing/java_pdf_demo 2.iText iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文…
Maven导入依赖 <properties> <itextpdf.version>5.5.0</itextpdf.version> <itext-asian.version>5.2.0</itext-asian.version> </properties> <!-- pdf--> <dependency> <groupId>com.itextpdf</groupId> <artif…
@Action("report_exportJasperPdf")    public String exportJasperPdf() throws Exception{        //查询出满足当前条件 结果数据        List<WayBill> wayBills = wayBillService.findWayBills(model);        //下载导出        //设置头信息        ServletActionContext.get…
package com.ulic.gis.customerCenter.controller; import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controll…
来源:蛙牛, my.oschina.net/lujianing/blog/894365 如有好文章投稿,请点击 → 这里了解详情 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等.方便用户查看,下载,打印.目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户. 本文源码:http://git.oschina.net/lujianing/java_pdf_demo 2.iText iText是著名的开放源码的站点sourcefo…
1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等.方便用户查看,下载,打印.目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户. 本文源码:http://git.oschina.net/lujianing/java_pdf_demo 2.iText iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html…
废话少说,不懂itext干啥用的直接去百度吧. ***************制作模板******************* 1.先用word做出界面 2.再转换成pdf格式 3.用Adobe Acrobat 打开你刚刚用word转换成的pdf 会出现如下界面 下一步 点击浏览,选择刚才你转换好的pdf 下一步 4.打开后它会自动侦测并命名表单域,右键表单域,点击属性,出现文本域属性对话框,有的人说要改成中文字体,可是我没有改一样成功啦 5.一般情况下不需要修改什么东西,至少我没有修改哦 6.直…
在网上看了一些Java生成pdf文件的,写的有点乱,有的不支持写入中文字体,有的不支持模板,有的只是随便把数据放里面生成文件,完全不考虑数据怎样放置的以及以后的维护性,想想还是自己总结一个完全版的导出pdf的工具类吧,总结一下网上的方法,加上自己的完善.具有以下特点: 综合特点: 一对一,点对点的给对应的地方写值,比如模板里面放了个name标识,在程序里把"张三"赋给name,那么输出的pdf里面name的地方就变成了张三,准确方便快捷 支持中文,可以使用自己下载的字体. 支持图片:图…
本次完善综合特点: 一对一,点对点的给对应的地方写值,比如模板里面放了个name标识,在程序里把“张三”赋给name,那么输出的pdf里面name的地方就变成了张三,准确方便快捷 支持中文,可以使用自己下载的字体. 支持图片:图片的大小范围可以在模板随意调,生成出来的图片不会超过范围.而且不需要根据坐标去算,程序里面自动计算的. 支持多页模板,即使是好几页的模板,只要每个变量对应的范围确定好了,生成出来的格式就不会错乱.  详细步骤和完整代码在下面. 先放个效果图: 下面是详细的步骤: 1.首先…