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相关推荐

  1. Java使用Itext5与html模板生成pdf并支持下载

    Java使用Itext5与html模板生成pdf 文章目录 Java使用Itext5与html模板生成pdf 前言 一.引入依赖 二.相关使用说明 1.工具类 2.模板配置 3.模板的抽象类(定义了相 ...

  2. iText通过FreeMarker模板生成PDF解决方案

    首先定义一个HTML模板,通过后台数据填充,生成PDF文件. 目录 一.所需依赖 二.生成工具类 三.准备模板 四. 字体和模板放置的位置 五.生成PDF文件预览 一.所需依赖 <!-- pdf ...

  3. itext 5 根据模板生成PDF util类

    是根据pdf模板生成的 ,pdf模板需配置文本域 ,这个可以去看下其他博客 这个是根据 itext 5.4 <dependency><groupId>com.itextpdf& ...

  4. java根据模板生成pdf文件并导出(iText)

    java根据模板生成pdf文件并导出 首先你的制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf格式文件 3.通过Adobe Acrobat pro软件打开刚刚用word转换成的 ...

  5. java pdf工具类_Java PDF工具类(一)| 使用 itextpdf 根据PDF模板生成PDF(文字和图片)...

    Java PDF工具类(一)| 使用 itextpdf 根据设置好的PDF模板填充PDF(文字和图片) 相关文章: Java PDF工具类(二)| 使用 wkhtmltox 实现 HTML转PDF(文 ...

  6. JAVA 使用Itext模板生成pdf,解决图片插入,文本域超出字体缩放,半自动换行

    1.前言 前一段时间遇到一个制作Pdf的业务,自己下来摸索了一下,基本上解决.将其中遇到的几个问题及解决方法做以记录,仅供大家参考. 首先在这里对于刚接触该类型业务的同学说明下,ItexPdf支持使用 ...

  7. Java根据模板生成pdf文件并导出

    原文地址:http://blog.csdn.net/TOP__ONE/article/details/65442390 首先你的制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf ...

  8. java 制作pdf模板,Java-pdf模板制作流程-使用pdf 模板生成pdf文件

    Java 使用pdf 模板生成pdf文件 --制作流程 1.      使用工具 adobe acrobat dc.word 2015 2.      使用 word 繪制一個 3*5 的表格並保存, ...

  9. itext 根据模板 生成pdf 多行数据

    前言:基于 html + ccs + itext + 字符串替换完成的.简单,依赖的 jar 少... 根据 pdf模板 生成 pdf , 1. 不能有循环的数据(可能有,但我并没有找到): 2. t ...

  10. java导出pdf文件并下载_java根据模板生成pdf文件并导出

    1.首先需要依赖包:itext的jar包,我是maven项目,所以附上maven依赖 [html] view plain copy com.itextpdf itextpdf 5.5.10 [html ...

最新文章

  1. alexa技能个数_如何在您的技能中使用Alexa演示语言
  2. __getattr__ 与动态属性
  3. 解决AJAX跨域WCF的问题详解
  4. 从postgress 读取数据
  5. Java 泛型 super extends 边界
  6. mysql 当前记录集不支持书签_存储过程 分页。当前记录集不支持书签。这可能是提供程序或选定的游标类型的限制。...
  7. 启明云端基于sigmastarSSD201/202核心板\开发板资料分享地址,另外还可以加入技术沟通群聊,及时解决相关技术问题!
  8. openjdk platform binary是什么进程_基于pytest实现appium多进程兼容性测试
  9. ZigBee网络角色 拓扑结构 无线模块组网典型应用
  10. 收集到的非常好的第三方控件
  11. Educational Codeforces Round 55 (Rated for Div. 2) B. Vova and Trophies 【贪心 】
  12. mongoDB cluster insert slow
  13. JavaScript遇到浏览器不兼容与解决方案
  14. 明星开店都是稳定赚钱的生活,稳赚不赔
  15. 透明色的rgb值是多少_一文掌握PPT主题色原理及使用技巧
  16. 关于使用easyui dataGrid遇到的小bug问题
  17. 怎么用wps抽签_【WPS神技能】如何在WPS-Excel表格中制作抽奖小程序?
  18. 保监会借大数据摸底保险中介市场
  19. 荣耀android手机怎么截图,华为荣耀v20如何截图 荣耀v20的截屏的方法步骤
  20. 基于TI Davinci架构的多核/双核开发高速扫盲(以OMAP L138为例),dm8168多核开发參考以及达芬奇系列资料user guide整理...

热门文章

  1. PLC编程入门:梯形图
  2. 含泪入坑 GMSSL
  3. 访问线上平台出现http状态码“502”和“504”
  4. 固态硬盘故障检测_如何检测固态硬盘是否损坏 - 卡饭网
  5. Oracle数据库 查询所有表
  6. 《Redis开发与运维》读书笔记三
  7. python汉化包放哪_python环境搭建和pycharm的安装配置及汉化(零基础小白版)
  8. Web漏洞扫描工具AppScan v10.0.0的下载安装与使用
  9. MSC.MD.NASTRAN.V2010\
  10. 爬虫python 英文,python爬虫—爬取英文名以及正则表达式的介绍