1、下载Adobe Acrobat DC工具来制作pdf的模板

打开一个pdf

2、制作pdf模板

把自动生成的文本框删除

然后 拖入文本框并自定义键

导入maven 依赖

 <dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.5</version>
</dependency> <dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
 @Controller
public class PdfView { @RequestMapping("/pdfView/{id}")
public void fillTemplate(HttpServletResponse response,@PathVariable("id") Integer id) {
System.out.println(id);
// 模板路径
String templatePath = "E:\\print\\moban\\ylmoban.pdf";
// 生成的新文件路径
String newPDFPath = "E:\\print\\测试11.pdf";
PdfReader reader;
FileOutputStream out;
ByteArrayOutputStream bos;
PdfStamper stamper;
int page=1;
List<PdfReader> list = new ArrayList();
try {
//for(int i=0;i<19;i++){
reader = new PdfReader(templatePath);
PdfReader pdfReader = null;
bos = new ByteArrayOutputStream();
stamper = new PdfStamper(reader, bos);
AcroFields form = stamper.getAcroFields();
        //这个form就是pdf里面的表单key就是pdf的键 value 就是往里面要放的值
form.setField("test1","张三");
form.setField("test2","总经理");
form.setField("test4","德信养老院");
form.setField("test5","其它"); //true代表生成的PDF文件不可编辑
stamper.setFormFlattening(true);
stamper.close();
pdfReader = new PdfReader(bos.toByteArray());
list.add(pdfReader); //}
// out = new FileOutputStream(newPDFPath);
ServletOutputStream outputStream = response.getOutputStream(); Document doc = new Document();
PdfCopy copy = new PdfCopy(doc, outputStream);
doc.open();
for (int k = 0; k < list.size(); k++) {
PdfReader pdfReader1 = list.get(k);
doc.newPage();
copy.addDocument(pdfReader1);
}
copy.close();
// PdfImportedPage importPage = copy.getImportedPage(new PdfReader(bos.toByteArray()), 1);
// copy.addPage(importPage);
// doc.close();
} catch (Exception e) {
e.printStackTrace();
} }
public static void main(String[] args) {
//fillTemplate();
}

这样直接访问这个controller 就可以直接生成打印预览

springboot pdf模板打印的更多相关文章

  1. 根据现有PDF模板填充信息(SpringBoot)

    根据现有PDF模板填充信息(SpringBoot+maven) 首先得有一个pdf模板,建立pdf模板需要下载工具 红色框为文本框,filename为域名.java需要根据域名赋值 pom 文件配置 ...

  2. 使用iTextSharp来填充PDF模板文件

    需求简介:     遇到了这样一个需求:某公司需要为所有用户的培训生成一个培训记录,过程如下:     (1)用户在培训完之后会进入到一个填写信息的界面.     (2)用户填写信息.     (3) ...

  3. 新知识:Java 利用itext填写pdf模板并导出(昨天奋战到深夜四点,知道今天两点终于弄懂)

    废话少说,不懂itext干啥用的直接去百度吧. ***************制作模板******************* 1.先用word做出界面 2.再转换成pdf格式 3.用Adobe Acr ...

  4. PDF模板报表导出(Java+Acrobat+itext)

    1. 首先要安装Adobe Acrobat,装好之后用Acrobat从一个word,excel或者pdf中转换一个pdf模板,我做的模板很简单,直接写一个简单的word再生成一个pdf表单,之后编辑文 ...

  5. 创建PDF模板,java添加内容、导出下载PDF

    本文主要内容是:用java在pdf模板中加入数据,图片. 废话不多说,举个非常简单的例子: 首先创建word文档,导出PDF. 用 软件adobe acrobat打开,操作步骤如图: 在指定位置添加文 ...

  6. springMVC(3)---利用pdf模板下载

    springMVC(3)---利用pdf模板下载 在实际开发中,很多时候需要通过把数据库中的数据添加到pdf模板中,然后供客户下载,那我们该如何中呢? 本文主要内容是:用java在pdf模板中加入数据 ...

  7. 根据PDF模板生成PDF文件(基于iTextSharp)

    根据PDF模板生成PDF文件,这里主要借助iTextSharp工具来完成.场景是这样的,假如要做一个电子协议,用过通过在线填写表单数据,然后系统根据用户填写的数据,生成电子档的协议.原理很简单,但是每 ...

  8. SpringBoot thymeleaf模板页面没提示,SpringBoot thymeleaf模板插件安装

    SpringBoot thymeleaf模板插件安装 SpringBoot thymeleaf模板Html页面没提示 SpringBoot  thymeleaf模板页面没提示 SpringBoot t ...

  9. SpringBoot thymeleaf模板版本,thymeleaf模板更换版本

    SpringBoot thymeleaf模板版本 thymeleaf模板更换版本 修改thymeleaf模板版本 ================================ ©Copyright ...

随机推荐

  1. LINQ查询表达式详解(1)——基本语法、使用扩展方法和Lambda表达式简化LINQ查询

    简介 使用线程的主要原因:应用程序中一些操作需要消耗一定的时间,比如对文件.数据库.网络的访问等等,而我们不希望用户一直等待到操作结束,而是在此同时可以进行一些其他的操作.  这就可以使用线程来实现. ...

  2. 【python基础学习】---解析多层json,解析xml

    1.以豆瓣的API接口为例子,解析返回的json数据 https://api.douban.com/v2/book/1220502 { "rating":{ "max&q ...

  3. cm_api

    cm API:https://github.com/cloudera/cm_api/tree/master/python/examples/auto-deploy#看集群有几个clustercurl ...

  4. powerdesigner去掉网格线

    powerdesigner去掉网格线 去掉网格线

  5. java各种jar的下载地址和源码下载地址

    1.jboss http://jbossmarshalling.jboss.org/downloads2.netty https://netty.io/downloads.html3.spring h ...

  6. Uncaught SyntaxError: Unexpected identifier

    $.ajax({ //请求头 type:"POST", contentType:"application/x-www-form-urlencoded", url ...

  7. weex 轮播如何使用?

    下面的内容是你必须要掌握的 1.怎么让banner的宽度和屏幕的宽度相等 2.怎么让banner自动轮播和轮播间隔 3.如何添加指示器 4.如何设置指示器的颜色和大小 5.点击轮播图时触发事件 6.检 ...

  8. windows下xgboost安装到python

    初始环境 在安装之前,我的anaconda2已经安装好,git也有装好 下载相对应的xgboost.dll文件 下载地址 Installing the Python Wrapper for me: x ...

  9. MySQL5.5配置文件my.ini详解

    [client]port = 3306 [mysqld]port = 3306 ##安装目录 basedir="C:/Program Files (x86)/MySQL/MySQL Serv ...

  10. maven 依赖包找不到 (转)

    1,手动添加jar包 例: maven在集成Oracle驱动的时候从远程仓库下载不下来ojdbc14 报missing artifact com.oracle:ojdbc14:jar:10.2.0.3 ...