springboot pdf模板打印

springboot pdf模板打印,第1张

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 就可以直接生成打印预览

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/589178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存