1.首先添加依赖

      <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.10</version></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version></dependency>

2.最基础的用法为:

     // 1.新建document对象Document document = new Document();// 2.建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中。// 创建 PdfWriter 对象 第一个参数是对文档对象的引用,第二个参数是文件的实际名称,在该名称中还会给出其输出路径。PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("D:/test.pdf"));Anchor anchorTarget = new Anchor("ccccccccccccccccc");anchorTarget.setName("bbbbbbbbbbbbbbbb");Paragraph paragraph1 = new Paragraph();paragraph1.setSpacingBefore(50);paragraph1.add(anchorTarget);document.add(paragraph1);// 3.打开文档document.open();// 4.添加一个内容段落document.add(new Paragraph("Hello World!"));// 5.关闭文档document.close();

3.我曾经写过的一个项目中的例子(最后有效果图):

Map resultMap = new HashMap();resultMap.put("RWBH",rwbh);Map rwList = mybatisRepository.selectOne(this.namespace + "queryRwxx", resultMap);List<Map> ldList = mybatisRepository.selectByParams(this.namespace + "queryLdxx", resultMap);// 定义全局的字体静态变量Font titlefont;Font headfont;Font keyfont;Font textfont = null;// 最大宽度try {// 不同字体(这里定义为同一种字体:包含不同字号、不同style)BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);titlefont = new Font(bfChinese, 16, Font.BOLD);headfont = new Font(bfChinese, 14, Font.BOLD);keyfont = new Font(bfChinese, 10, Font.BOLD);textfont = new Font(bfChinese, 15, Font.NORMAL);} catch (Exception e) {e.printStackTrace();}BaseFont bf;Font font = null;try {bf = BaseFont.createFont( "STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);//创建字体font = new Font(bf,20,Font.BOLD);//使用字体} catch (Exception e) {e.printStackTrace();}Document document = new Document(new RectangleReadOnly(842F, 595F));try {String filePath="E:/file/dzld/"+rwbh+".pdf";PdfWriter.getInstance(document, new FileOutputStream(filePath));document.open();Paragraph paragraph=new Paragraph("运输服务路单汇总表",font);paragraph.setAlignment(1);document.add(paragraph);//引用字体float[] widths = {25f,25f,25f,25f,25f,25f,25f,25f};// 设置表格的列宽和列数 默认是4列PdfPTable table = new PdfPTable(widths);// 建立一个pdf表格table.setSpacingBefore(20f);table.setWidthPercentage(100);// 设置表格宽度为100%PdfPCell cell = null;//第一行cell = new PdfPCell(new Paragraph("优选编号",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setFixedHeight(50);table.addCell(cell);cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("RWBH")),textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setColspan(3);table.addCell(cell);cell = new PdfPCell(new Paragraph("任务名称",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("RWMC")),textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setColspan(3);table.addCell(cell);//第2行cell = new PdfPCell(new Paragraph("车牌号",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setFixedHeight(50);table.addCell(cell);cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("CPH")),textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setColspan(3);table.addCell(cell);cell = new PdfPCell(new Paragraph("车型",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("CXMC")),textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setColspan(3);table.addCell(cell);//第3行cell = new PdfPCell(new Paragraph("用车单位",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setFixedHeight(50);table.addCell(cell);cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("FQDWMC")),textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setColspan(3);table.addCell(cell);cell = new PdfPCell(new Paragraph("派车单位",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("JDDWMC")),textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setColspan(3);table.addCell(cell);//第4行cell = new PdfPCell(new Paragraph("起止时间",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setFixedHeight(50);table.addCell(cell);cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("ZZKGSJ"))+"至"+StringUtil.null2blank(rwList.get("ZWWGSJ")),textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setColspan(3);table.addCell(cell);cell = new PdfPCell(new Paragraph("总工作量",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("ZGZL")),textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph("总运费",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph(StringUtil.null2blank(rwList.get("ZYF")),textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);//第5行cell = new PdfPCell(new Paragraph("开始时间",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);cell.setFixedHeight(50);table.addCell(cell);cell = new PdfPCell(new Paragraph("结束时间",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph("工作量",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph("单价",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph("运费(元)",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph("桥路费(元)",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph("甲方现场人员",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell = new PdfPCell(new Paragraph("路单复核人",textfont));//cell.setVerticalAlignment(cell.ALIGN_MIDDLE);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);String LKGSJ="";String LWGSJ="";String GZL="";String DJ="";String YF="";String QLF="";String JFXCRY="";String FHRMC="";if (ldList.size()>0){for (int i = 0; i <ldList.size(); i++) {LKGSJ=StringUtil.null2blank(ldList.get(i).get("LKGSJ"));LWGSJ=StringUtil.null2blank(ldList.get(i).get("LWGSJ"));GZL=StringUtil.null2blank(ldList.get(i).get("FHGZL"));DJ=StringUtil.null2blank(ldList.get(i).get("FHDJ"));YF=StringUtil.null2blank(ldList.get(i).get("FHYF"));QLF=StringUtil.null2blank(ldList.get(i).get("FHQLF"));JFXCRY=StringUtil.null2blank(ldList.get(i).get("JFXCRY"));;FHRMC=StringUtil.null2blank(ldList.get(i).get("FHRMC"));//设置编号单元格PdfPCell cell11=new PdfPCell(new Paragraph(LKGSJ,textfont));PdfPCell cell22=new PdfPCell(new Paragraph(LWGSJ,textfont));PdfPCell cell33=new PdfPCell(new Paragraph(GZL,textfont));PdfPCell cell44=new PdfPCell(new Paragraph(DJ,textfont));PdfPCell cell55=new PdfPCell(new Paragraph(YF,textfont));PdfPCell cell66=new PdfPCell(new Paragraph(QLF,textfont));PdfPCell cell77=new PdfPCell(new Paragraph(JFXCRY,textfont));PdfPCell cell88=new PdfPCell(new Paragraph(FHRMC,textfont));//单元格水平对齐方式cell11.setHorizontalAlignment(Element.ALIGN_CENTER);cell11.setVerticalAlignment(cell.ALIGN_MIDDLE);cell11.setFixedHeight(50);//单元格垂直对齐方式cell22.setHorizontalAlignment(Element.ALIGN_CENTER);cell22.setVerticalAlignment(Element.ALIGN_CENTER);cell22.setVerticalAlignment(cell.ALIGN_MIDDLE);cell33.setHorizontalAlignment(Element.ALIGN_CENTER);cell33.setVerticalAlignment(Element.ALIGN_CENTER);cell33.setVerticalAlignment(cell.ALIGN_MIDDLE);cell44.setHorizontalAlignment(Element.ALIGN_CENTER);cell44.setVerticalAlignment(Element.ALIGN_CENTER);cell44.setVerticalAlignment(cell.ALIGN_MIDDLE);cell55.setHorizontalAlignment(Element.ALIGN_CENTER);cell55.setVerticalAlignment(Element.ALIGN_CENTER);cell55.setVerticalAlignment(cell.ALIGN_MIDDLE);cell66.setHorizontalAlignment(Element.ALIGN_CENTER);cell66.setVerticalAlignment(Element.ALIGN_CENTER);cell66.setVerticalAlignment(cell.ALIGN_MIDDLE);cell77.setHorizontalAlignment(Element.ALIGN_CENTER);cell77.setVerticalAlignment(Element.ALIGN_CENTER);cell77.setVerticalAlignment(cell.ALIGN_MIDDLE);cell88.setHorizontalAlignment(Element.ALIGN_CENTER);cell88.setVerticalAlignment(Element.ALIGN_CENTER);cell88.setVerticalAlignment(cell.ALIGN_MIDDLE);table.addCell(cell11);table.addCell(cell22);table.addCell(cell33);table.addCell(cell44);table.addCell(cell55);table.addCell(cell66);table.addCell(cell77);table.addCell(cell88);}document.add(table);document.close();}upload(rwbh);} catch (Exception e) {System.out.println("file create exception");}

4.效果图

java后台导出pdf,基础用法和样例相关推荐

  1. java后台导出excel代码详细讲解,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  2. Java后台实现pdf文件在浏览器中预览

    Java后台实现pdf文件在浏览器中预览 放在服务器的pdf文件不能通过完整路径访问,想要实现的效果是浏览器访问后台接口可以预览pdf文件,暂时是把pdf文件放在本地测试 通过输出流的方式将pdf文件 ...

  3. java后台导出Excel表格

    引言 java后台导出表格一般分两种:注解配置(@Excel)导出和自定义导出 注解配置(@Excel)导出 添加poi依赖 <dependency><groupId>cn.a ...

  4. java itext 导出pdf文件_【Java,PDF】使用Itext实现PDF文件生成

    重要声明:本文章仅仅代表了作者个人对此观点的理解和表述.读者请查阅时持自己的意见进行讨论. 前言 有时候,业务系统要求提供一个PDF文件导出的功能,这时候我们就需要将数据库的对应数据查询出来,然后生成 ...

  5. Java中导出pdf文件,pdf工具类demo

    最近在做导出pdf文件的功能,参考了很多资料和demo,完成了转出pdf的功能,并适合项目的pdf工具类,现贴出具体的工具类和demo,如有不对的地方欢迎指正 1.pdf工具类PdfUtil.java ...

  6. java后台导出word,详细过程及趟过的坑

    一.我使用的java导出word,由XML+FreeMarker来实现的,因此需要以下工具: 1.office.这里不能使用wps,因为wps由word文档转为xml文档时,解析会发生错误,导致最终模 ...

  7. java批量导出pdf文件_java导出pdf文件

    项目中导出pdf文件,需要3个jar包iText-2.1.7.jar,iTextAsian.jar,ReportExprotPlug0.1.jar. ReportInfo info = new Rep ...

  8. java数据导出PDF文件

    导入pom文件 第一步: 导出pdf是需要的jar包 <dependency><groupId>com.itextpdf</groupId><artifact ...

  9. java jsp导出pdf文件_JSP页面导出PDF格式文件

    JSP页面导出PDF格式文件基本在前端页面可以全部完成 添加下载链接的点击事件 var downPdf = document.getElementById("downLoad"); ...

最新文章

  1. 分析2021年私有云市场的发展趋势
  2. C#类在初始化时的执行顺序
  3. 百度计算生物研究登上Nature子刊!将3D结构引入分子表征,结果超越斯坦福MIT,已落地制药领域...
  4. 深入理解分布式技术 - 负载均衡策略
  5. html制作柱状图教程,基于Echarts的HTML5 Canvas折线图柱状图DEMO演示
  6. 分层和分段用什么符号_小编带你学直播——后牙树脂分层堆塑
  7. Spring Boot 集成 Thymeleaf 快速入门、静态资源映射规则、WebJars
  8. [TJOI2018]教科书般的亵渎
  9. EasyRecovery15绿色版免安装数据恢复软件
  10. php 管理员界面源码,ThinkPHP通用后台管理系统TP-Admin
  11. OpenWRT 使用USB 4G上网卡
  12. 阿里云封禁端口25,导致smtp.126.com邮件无法发送-解决方案+springboot配置
  13. Linux 系 统 目 录 详 解
  14. 《硬核父母的五项修炼》读后感
  15. ios html调起高德地图,iOS开发笔记 调起本地地图导航(百度、高德、腾讯、苹果自带)...
  16. 【技术类】Landsat 7 ETM+影像条带去除妙招
  17. 记录解决windows XP启动加载个人设置慢的问题
  18. ET钱包12月13日早报 | BM:将在下一次升级时解决CPU相关问题
  19. reverse(一)——apk逆向
  20. 客户端开发是做什么的_做程序员需要哪些技能?会开发什么软件?

热门文章

  1. Java基础 | 多态
  2. layui关闭当前tab页
  3. Python实现统一社会信用代码校验(GB32100-2015)
  4. 计算机的cut代表什么意思,cut是什么意思_cut在线翻译_英语_读音_用法_例句_海词词典...
  5. mac电脑显示隐藏文件方法
  6. 深度强化学习发展现状及展望:万字总结解读83篇文献
  7. MySQL报错:SQL错误[1146][42s02]: Table 'tablename' doesn't exist(记一次以为自己删库的经历)
  8. windows 删除服务_哪些Windows 10 系统服务可以安全禁用?
  9. 四、入门python第四课
  10. ipad可以装二级计算机培训吗,当初给孩子买iPad上网课的家长,开始后悔了……