springboot pdf模板打印
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模板打印的更多相关文章
- 根据现有PDF模板填充信息(SpringBoot)
根据现有PDF模板填充信息(SpringBoot+maven) 首先得有一个pdf模板,建立pdf模板需要下载工具 红色框为文本框,filename为域名.java需要根据域名赋值 pom 文件配置 ...
- 使用iTextSharp来填充PDF模板文件
需求简介: 遇到了这样一个需求:某公司需要为所有用户的培训生成一个培训记录,过程如下: (1)用户在培训完之后会进入到一个填写信息的界面. (2)用户填写信息. (3) ...
- 新知识:Java 利用itext填写pdf模板并导出(昨天奋战到深夜四点,知道今天两点终于弄懂)
废话少说,不懂itext干啥用的直接去百度吧. ***************制作模板******************* 1.先用word做出界面 2.再转换成pdf格式 3.用Adobe Acr ...
- PDF模板报表导出(Java+Acrobat+itext)
1. 首先要安装Adobe Acrobat,装好之后用Acrobat从一个word,excel或者pdf中转换一个pdf模板,我做的模板很简单,直接写一个简单的word再生成一个pdf表单,之后编辑文 ...
- 创建PDF模板,java添加内容、导出下载PDF
本文主要内容是:用java在pdf模板中加入数据,图片. 废话不多说,举个非常简单的例子: 首先创建word文档,导出PDF. 用 软件adobe acrobat打开,操作步骤如图: 在指定位置添加文 ...
- springMVC(3)---利用pdf模板下载
springMVC(3)---利用pdf模板下载 在实际开发中,很多时候需要通过把数据库中的数据添加到pdf模板中,然后供客户下载,那我们该如何中呢? 本文主要内容是:用java在pdf模板中加入数据 ...
- 根据PDF模板生成PDF文件(基于iTextSharp)
根据PDF模板生成PDF文件,这里主要借助iTextSharp工具来完成.场景是这样的,假如要做一个电子协议,用过通过在线填写表单数据,然后系统根据用户填写的数据,生成电子档的协议.原理很简单,但是每 ...
- SpringBoot thymeleaf模板页面没提示,SpringBoot thymeleaf模板插件安装
SpringBoot thymeleaf模板插件安装 SpringBoot thymeleaf模板Html页面没提示 SpringBoot thymeleaf模板页面没提示 SpringBoot t ...
- SpringBoot thymeleaf模板版本,thymeleaf模板更换版本
SpringBoot thymeleaf模板版本 thymeleaf模板更换版本 修改thymeleaf模板版本 ================================ ©Copyright ...
随机推荐
- docker-compose 部署elk+解决时间不对导致kibana找不到logstash定义的index + docker-compose安装
1.拉代码 git clone https://github.com/deviantony/docker-elk.git 2.docker-compose配置文件 [root@host7 docker ...
- python解析库
BeautifulSoup示例: #!/usr/bin/env python # -*- coding: utf-8 -*- # author: imcati html_doc = "&qu ...
- Hadoop三种架构介绍及搭建
apache hadoop三种架构介绍(standAlone,伪分布,分布式环境介绍以及安装) hadoop 文档 http://hadoop.apache.org/docs/ 1.StandAlo ...
- 设计模式在 Spring 框架中的良好应用
在开始正文之前,请你先思考几个问题: 你项目中有使用哪些 GOF 设计模式 说一说 GOF 23 种设计模式的设计理念 说说 Spring 框架中如何实现设计模式 假设我是面试官问起了你这些面试题,你 ...
- FFmpeg4.0笔记:采集系统声音
Github https://github.com/gongluck/FFmpeg4.0-study/tree/master/Cff // 采集系统声音 void test_systemsound() ...
- 14、PCA分析
做芯片PCA主成分分析可以选择使用affycoretools包的plotPCA方法,以样品"GSM363445_LNTT.CEL"."GSM362948_LTT.CEL& ...
- redis 学习(6)-- 集合类型
redis 学习(6)-- 集合类型 set 结构 无序 无重复 集合间操作 set 集合内操作 命令 含义 sadd key memebr1 [member2...] 向集合中添加一个或多个成员 s ...
- 面试之什么是java虚拟机
java虚拟机体系结构 方法区 堆 java虚拟机栈 本地方法栈 方法区 java虚拟机编译的class文件中二进制数据类型解析数据存在方法区中 是所有线程共享 和存在数据的线程安全问题 当二个线程使 ...
- Echarts饼图将数据显示在 legend 旁边
不多废话,笔记如下 var myEcharts = echarts.init(document.getElementById('doughnut')); option = { tooltip: { t ...
- 第三篇 jQuery操作DOM
3-1 DOM页面文档 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...