Spring Boot 菜鸟教程 18 itext导出pdf下载

Java操作pdf框架##

iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。

最终下载效果##

这里写图片描述

pom.xml

<!-- itext方式导出pdf -->
<dependency>
    <groupId>com.lowagie</groupId>
    <artifactId>itext</artifactId>
    <version>4.2.2</version>
</dependency>

UserController.download方法##

  • 简单的飞起
// 下载pdf文档
  @RequestMapping("/download")
  public void download(HttpServletRequest request, HttpServletResponse response) throws Exception {
    // 告诉浏览器用什么软件可以打开此文件
    response.setHeader("content-Type", "application/pdf");
    // 下载文件的默认名称
    response.setHeader("Content-Disposition", "attachment;filename=user.pdf");

    Document document = new Document();
    PdfWriter.getInstance(document, response.getOutputStream());
    document.open();
    List<User> list = userRepository.findAll();
    for (User user : list) {
      PdfPTable table = new PdfPTable(3);
      PdfPCell cell = new PdfPCell();
      cell.setPhrase(new Paragraph(user.getId().toString()));
      table.addCell(cell);
      document.add(table);

      cell = new PdfPCell();
      cell.setPhrase(new Paragraph(user.getName().toString()));
      table.addCell(cell);
      document.add(table);

      cell = new PdfPCell();
      cell.setPhrase(new Paragraph(user.getAge().toString()));
      table.addCell(cell);
      document.add(table);
    }
    document.close();
  }

其他关联项目

源码地址

https://github.com/je-ge/spring-boot

**如果觉得我的文章或者代码对您有帮助,可以请我喝杯咖啡。您的支持将鼓励我继续创作!谢谢! **


微信打赏
微信打赏

支付宝打赏
支付宝打赏

推荐阅读更多精彩内容

  • 1、输出表结果,表结构可自己通过代码调整,主要思路: a 在java代码中,通过数据库查询语句获取所有表名和表名备...
    雨夜青草阅读 7,335评论 6 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 132,241评论 18 139
  • 在今天以前呢,我一直是一个懒散而且随便的姑娘。很多事情我还小,没做到完美,我经常觉得差不多就好了,差不多差不多...
    榆木清清阅读 138评论 0 0
  • 你还在为劳保鞋咯脚而发愁么 你还在为没有一双防臭的鞋垫而闹心么 你还在为劳累一天的双脚没有一个舒适的环境而上火么 ...
    面朝大海_0742阅读 216评论 0 0
  • 就一支完全陌生的乐队来说,孔雀眼的开场是比较惊艳的。Trap口感的合成器和贝斯节拍正是时下最时髦的“轻量级”乐种之...
    看见音乐阅读 422评论 0 0