Java用itext工具根据模板生成PDF
itext工具
在企业的信息系统中,报表处理一直占比较重要的作用,iText是一种生成PDF报表的Java组件。
iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。
itext官网
The Leading PDF Library for Developers | iTextThe leading Java and C# PDF Library SDK. A programmable Java and .NET PDF SDK library to create, manipulate and edit PDF documents. Convert Html files to pdf, Debug pdf files, extract data from PDF and more.https://itextpdf.com/en
Adobe Acrobat DC
Adobe Acrobat DC是Adobe公司的一款PDF编辑和阅读软件,可将纸质图片、文字迅速转化成PDF或文档格式,比如人们通过手机拍照,可让纸质版文字转化成电子版,用户可直接对文档进行修改。另外,通过移动端和PC端,Acrobat DC可让Excel、Word和PDF之间的相互转化更为便利。
Adobe Acrobat DC官网
Adobe Acrobat DC PDF software | Adobe AcrobatMake your job easier with Adobe Acrobat DC, the trusted PDF editor and creator. Use Acrobat PDF software at your desk or on the go.https://www.adobe.com/acrobat.html
实现过程
创建word文档
转化为pdf
创建表单
打开pdf用Adobe Acrobat DC的打开,然后打开工具的准备表单
修改表单的key值
表单已建立,保存到本地磁盘。
实现代码
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.AcroFields;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;/*** itext编辑pdf*/
public class MyItext {public static void main(String[] args) throws IOException, DocumentException {Map<String, String> data = new HashMap<String, String>();//要插入的数据data.put("name", "张三");data.put("sex", "男");data.put("major", "计算机科学与技术");data.put("hobby", "跑步");data.put("phone", "1xxxxxxxxxx");try {// pdf模板所在路径,就是网站制作好后下载的pdf模板路径String fileName = "D:\\\\itext\\\\itextTemplate.pdf";PdfReader reader = new PdfReader(fileName);ByteArrayOutputStream bos = new ByteArrayOutputStream();PdfStamper ps = new PdfStamper(reader, bos);// 使用中文字体BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);ArrayList<BaseFont> fontList = new ArrayList<BaseFont>();fontList.add(bf);AcroFields fields = ps.getAcroFields();fields.setSubstitutionFonts(fontList);for (String key : data.keySet()) {String value = data.get(key);// 为字段赋值,注意字段名称是区分大小写的fields.setField(key, value);}//必须要调用这个,否则文档不会生成的ps.setFormFlattening(true);ps.close();//生成pdf路径存放的路径OutputStream fos = new FileOutputStream("D:\\itext\\itextTemplateOutput.pdf");fos.write(bos.toByteArray());fos.flush();fos.close();bos.close();} catch (Exception e) {e.printStackTrace();}}}
运行结果
打开生成的pdf,数据已插入到对应的key。
Java用itext工具根据模板生成PDF相关推荐
- Java使用Itext5与html模板生成pdf并支持下载
Java使用Itext5与html模板生成pdf 文章目录 Java使用Itext5与html模板生成pdf 前言 一.引入依赖 二.相关使用说明 1.工具类 2.模板配置 3.模板的抽象类(定义了相 ...
- iText通过FreeMarker模板生成PDF解决方案
首先定义一个HTML模板,通过后台数据填充,生成PDF文件. 目录 一.所需依赖 二.生成工具类 三.准备模板 四. 字体和模板放置的位置 五.生成PDF文件预览 一.所需依赖 <!-- pdf ...
- itext 5 根据模板生成PDF util类
是根据pdf模板生成的 ,pdf模板需配置文本域 ,这个可以去看下其他博客 这个是根据 itext 5.4 <dependency><groupId>com.itextpdf& ...
- java根据模板生成pdf文件并导出(iText)
java根据模板生成pdf文件并导出 首先你的制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf格式文件 3.通过Adobe Acrobat pro软件打开刚刚用word转换成的 ...
- java pdf工具类_Java PDF工具类(一)| 使用 itextpdf 根据PDF模板生成PDF(文字和图片)...
Java PDF工具类(一)| 使用 itextpdf 根据设置好的PDF模板填充PDF(文字和图片) 相关文章: Java PDF工具类(二)| 使用 wkhtmltox 实现 HTML转PDF(文 ...
- JAVA 使用Itext模板生成pdf,解决图片插入,文本域超出字体缩放,半自动换行
1.前言 前一段时间遇到一个制作Pdf的业务,自己下来摸索了一下,基本上解决.将其中遇到的几个问题及解决方法做以记录,仅供大家参考. 首先在这里对于刚接触该类型业务的同学说明下,ItexPdf支持使用 ...
- Java根据模板生成pdf文件并导出
原文地址:http://blog.csdn.net/TOP__ONE/article/details/65442390 首先你的制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf ...
- java 制作pdf模板,Java-pdf模板制作流程-使用pdf 模板生成pdf文件
Java 使用pdf 模板生成pdf文件 --制作流程 1. 使用工具 adobe acrobat dc.word 2015 2. 使用 word 繪制一個 3*5 的表格並保存, ...
- itext 根据模板 生成pdf 多行数据
前言:基于 html + ccs + itext + 字符串替换完成的.简单,依赖的 jar 少... 根据 pdf模板 生成 pdf , 1. 不能有循环的数据(可能有,但我并没有找到): 2. t ...
- java导出pdf文件并下载_java根据模板生成pdf文件并导出
1.首先需要依赖包:itext的jar包,我是maven项目,所以附上maven依赖 [html] view plain copy com.itextpdf itextpdf 5.5.10 [html ...
最新文章
- alexa技能个数_如何在您的技能中使用Alexa演示语言
- __getattr__ 与动态属性
- 解决AJAX跨域WCF的问题详解
- 从postgress 读取数据
- Java 泛型 super extends 边界
- mysql 当前记录集不支持书签_存储过程 分页。当前记录集不支持书签。这可能是提供程序或选定的游标类型的限制。...
- 启明云端基于sigmastarSSD201/202核心板\开发板资料分享地址,另外还可以加入技术沟通群聊,及时解决相关技术问题!
- openjdk platform binary是什么进程_基于pytest实现appium多进程兼容性测试
- ZigBee网络角色 拓扑结构 无线模块组网典型应用
- 收集到的非常好的第三方控件
- Educational Codeforces Round 55 (Rated for Div. 2) B. Vova and Trophies 【贪心 】
- mongoDB cluster insert slow
- JavaScript遇到浏览器不兼容与解决方案
- 明星开店都是稳定赚钱的生活,稳赚不赔
- 透明色的rgb值是多少_一文掌握PPT主题色原理及使用技巧
- 关于使用easyui dataGrid遇到的小bug问题
- 怎么用wps抽签_【WPS神技能】如何在WPS-Excel表格中制作抽奖小程序?
- 保监会借大数据摸底保险中介市场
- 荣耀android手机怎么截图,华为荣耀v20如何截图 荣耀v20的截屏的方法步骤
- 基于TI Davinci架构的多核/双核开发高速扫盲(以OMAP L138为例),dm8168多核开发參考以及达芬奇系列资料user guide整理...
热门文章
- PLC编程入门:梯形图
- 含泪入坑 GMSSL
- 访问线上平台出现http状态码“502”和“504”
- 固态硬盘故障检测_如何检测固态硬盘是否损坏 - 卡饭网
- Oracle数据库 查询所有表
- 《Redis开发与运维》读书笔记三
- python汉化包放哪_python环境搭建和pycharm的安装配置及汉化(零基础小白版)
- Web漏洞扫描工具AppScan v10.0.0的下载安装与使用
- MSC.MD.NASTRAN.V2010\
- 爬虫python 英文,python爬虫—爬取英文名以及正则表达式的介绍