程序代码如下

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

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;

public class Reader {

public static void main(String [] args){

//1 准备要填充的数据

Map paraMap = new HashMap();

paraMap.put("XM", "付测试");

paraMap.put("XB", "男");

paraMap.put("MZ", "汉");

paraMap.put("CSRQ", "男");

paraMap.put("GMSFHM", "111111111111111111");

try {

//2 读入pdf表单

PdfReader reader = new PdfReader("G:\\Workspaces\\MyEclipse2013\\JAVAPDF\\blspb.pdf");

//3 根据表单生成一个新的pdf

PdfStamper ps = new PdfStamper(reader,new FileOutputStream("G:\\Workspaces\\MyEclipse2013\\JAVAPDF\\my_blspb.PDF"));

//4 获取pdf表单

AcroFields s = ps.getAcroFields();

//5给表单添加中文字体 这里采用系统字体。不设置的话,中文可能无法显示

BaseFont bf = BaseFont.createFont("C:/WINDOWS/Fonts/SIMSUN.TTC,1",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

s.addSubstitutionFont(bf);

//6遍历pdf表单表格,同时给表格赋值

Map fieldMap = s.getFields();

Set set = fieldMap.entrySet();

Iterator iterator = set.iterator();

while(iterator.hasNext()){

Entry entry = (Entry) iterator.next();

String key = (String)entry.getKey();

if(paraMap.get(key)!=null){

s.setField(key, ""+paraMap.get(key.toUpperCase()));

}

}

ps.setFormFlattening(true); // 这句不能少

ps.close();

reader.close();

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

} catch (DocumentException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

java 植入 form_pdf form表单制作以及用java程序填充表单相关推荐

  1. 写入多个表_制作属于自己的教学工作表

    Worksheet Crafter Premium Edition是一款十分出色的教学工作表制作软件,能够为小学,中学和特殊学校创建差异化的工作表.这款软件除了输入自由文本之外,还可以利用软件自身带有 ...

  2. 微信提交表单到服务器,微信小程序页面表单如何跟图片一起上传服务器

    拆开写. 表单提交是 wx.request 上传图片是 wx.uploadFile 你需要写一个通用图片上传接口,上传图片后台返回图片的url.这个通用接口在任何需要提交图片的表单都可以用到. 添加图 ...

  3. arm ida 伪代码 安卓 符号表_IDA 制作 sig文件 gdb 导入符号表

    背景 最近比赛遇到了一个题目, 32位静态链接去符号了. 所以用IDA分析的时候很多libc的库函数都无法识别, 就需要在 IDA 中引入 sig 文件. 从而可以识别诸如 read, write, ...

  4. HTML用<form>表单制作个人简历

    在HTML表单制作一张个人简介 源代码如下: ```html <!DOCTYPE html> <html> <head> <meta charset=&quo ...

  5. 从零开始学前端:表单制作 --- 今天你学习了吗?(CSS:Day05)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:表格制作 - 今天你学习了吗?(CSS:Day04) 文章目录 从零开始学前端:程序猿小白也可以完全掌握! ...

  6. html如何制作一个漂亮的表格?+ 列表制作 + 表单制作(干货!直接收代码)

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 目录 html如何 ...

  7. html制作网页怎样做表单,(html网页表单制作.doc

    (html网页表单制作 1.表单标签<form>--</form> 语法:<FORM name="form_name" ACTION="UR ...

  8. HTML5基础学习(7):登录表单制作、表单知识补充

    一.登录表单制作 有的时候用户需要填写信息,然后把填写完的信息交给服务器.把数据提交给服务器的动作就需要一个新的知识点:表单. (1)常见的表单控件 大部分的表单控件都是<input>编写 ...

  9. java获取表单隐藏域的值,Servlet中使用表单隐藏域

    Servlet中使用表单隐藏域 表单隐藏域也是一种会话跟踪技术. 如果使用了"表单隐藏域",将使用一个隐藏(不可见)文本域来维护用户的状态. 在这种情况下,我们将信息存储在表单的隐 ...

最新文章

  1. 有赞融资10亿港元 腾讯领投加紧布局产业互联网
  2. java gui 窗口 传值_java – GUI – 在不同窗口之间传输数据(J...
  3. python多线程同步与互斥_Python之多线程:线程互斥与线程同步
  4. java数组遍历赋值,最终入职阿里
  5. esp32 cam工作电流_我如何在家工作:Cam的生产力之痛
  6. PE文件RV转FOA及FOA转RVA
  7. php整合proxool,java discuz的开发笔记-模板代码转换
  8. ExtJS学习之window
  9. ExtremeC3Net: 使用高级C3模块的极轻量人像分割模型
  10. 物联网未来已来,新零售已处在巨变前夕
  11. Android核心分析之二十五Android GDI之共享缓冲区机制
  12. 震惊!PC端QQ也能防撤回?
  13. 解决Windows系统无法复制粘贴问题
  14. 深夜看了张一鸣的微博,我不得不惊
  15. php收银系统如何连接pos机,收银pos机怎么连接?
  16. 最小的操作系统MenuetOS
  17. 怎么把虚拟机的计算机弄到桌面,Win10自带的虚拟机功能,教你这样设置,免费让一台电脑变3台!...
  18. 基于恩智浦MK60DN512Z系列单片机的智能模型车主程序与子程序集
  19. FPGA烧录程序遇到的问题
  20. 小程序的createInnerAudioContext在iOS没有声音的解决方法

热门文章

  1. 没有光芯片,何谈 5G 与 AI !
  2. 关于云计算的讨论,一年就等这一回!
  3. Python 在数据科学中一直打压 R 语言?
  4. Python 表白?别傻了,女神是拿来撩的!
  5. javaweb实训第一天上午——HTML和CSS
  6. java rx_史上最浅显易懂的RxJava入门教程
  7. 想学IT的必看!深度解析跳槽从开始到结束完整流程万字长文!
  8. 第 14 章 程序员常用 10 种算法
  9. day13【前台】搭建环境
  10. oracle中自定义异常编号,Oracle自定义异常的使用