• 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>
     1 @Controller
     2 public class PdfView {
     3 
     4     @RequestMapping("/pdfView/{id}")
     5     public  void fillTemplate(HttpServletResponse response,@PathVariable("id") Integer id) {
     6        System.out.println(id);
     7         // 模板路径
     8         String templatePath = "E:\print\moban\ylmoban.pdf";
     9         // 生成的新文件路径
    10         String newPDFPath = "E:\print\测试11.pdf";
    11         PdfReader reader;
    12         FileOutputStream out;
    13         ByteArrayOutputStream bos;
    14         PdfStamper stamper;
    15         int page=1;
    16         List<PdfReader> list = new ArrayList();
    17         try {
    18             //for(int i=0;i<19;i++){
    19             reader = new PdfReader(templatePath);
    20             PdfReader pdfReader = null;
    21             bos = new ByteArrayOutputStream();
    22             stamper = new PdfStamper(reader, bos);
    23             AcroFields form = stamper.getAcroFields();
            //这个form就是pdf里面的表单key就是pdf的键 value 就是往里面要放的值
    24 form.setField("test1","张三"); 25 form.setField("test2","总经理"); 26 form.setField("test4","德信养老院"); 27 form.setField("test5","其它"); 28 29 //true代表生成的PDF文件不可编辑 30 stamper.setFormFlattening(true); 31 stamper.close(); 32 pdfReader = new PdfReader(bos.toByteArray()); 33 list.add(pdfReader); 34 35 //} 36 // out = new FileOutputStream(newPDFPath); 37 ServletOutputStream outputStream = response.getOutputStream(); 38 39 Document doc = new Document(); 40 PdfCopy copy = new PdfCopy(doc, outputStream); 41 doc.open(); 42 for (int k = 0; k < list.size(); k++) { 43 PdfReader pdfReader1 = list.get(k); 44 doc.newPage(); 45 copy.addDocument(pdfReader1); 46 } 47 copy.close(); 48 // PdfImportedPage importPage = copy.getImportedPage(new PdfReader(bos.toByteArray()), 1); 49 // copy.addPage(importPage); 50 // doc.close(); 51 } catch (Exception e) { 52 e.printStackTrace(); 53 } 54 55 } 56 public static void main(String[] args) { 57 //fillTemplate(); 58 }

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

  • 相关阅读:
    .net web mvc 权限验证
    .net web api 权限验证
    LeetCode-1021 Remove Outermost Parentheses Solution(with Java)
    LeetCode-682 Baseball Game Solution (with Java)
    LeetCode-859 Buddy Strings Solution (with Java)
    LeetCode-917 Reverse Only Letters Solution (with Java)
    LeetCode-521 Longest Uncommon Subsequence I Solution (with Java)
    LeetCode-937 Reorder Data in Log Files Solution (with Java)
    LeetCode-1 Two Sum Solution (with Java)
    LeetCode-985 Sum of Even Numbers After Queries Solution (with Java)
  • 原文地址:https://www.cnblogs.com/dkws/p/12049932.html
Copyright © 2020-2023  润新知