1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Itext使用 Java导出PDF

Itext使用 Java导出PDF

时间:2023-09-11 15:25:00

相关推荐

Itext使用 Java导出PDF

需求:需要将多张二维码输出到pdf中,供前端下载,并在每个二维码下面添加名称信息

itext:

可以帮助我们根据生成pdf文件

maven坐标

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

操作流程:

controller 获取请求和响应对象

@RequestMapping(value = "/exportPdf")public void excelPdf(HttpServletRequest request, HttpServletResponse response) throws Exception {towerSiteService.exportPdf(request, response);}

service 对数据进行处理返回到前台

用到的对象

Document pdf文档对象

Rectangle 文档对象的格式

PdfPTable pdf表格对象

BaseFont 设置字体

Image 读取图片

PdfPCell 单元格

Paragraph 段落 可添加到单元格

public void exportPdf(HttpServletRequest request, HttpServletResponse response) {response.setContentType("application/pdf");// 设置文件名称response.setHeader("Content-Disposition", "attachment;filename=站址二维码.pdf");String hql = "from TowerSite g ";// 获取数据List<Data> list = 数据库.查询方法();// 设置纸张规格Document doc = new Document();Rectangle pageSize = new Rectangle(PageSize.A4.getHeight(), PageSize.A4.getWidth());doc.setPageSize(pageSize);try {PdfWriter.getInstance(doc, response.getOutputStream());doc.open();// 新建pdf表格PdfPTable table = new PdfPTable(4);for (Data data : list) {// 添加中文字体BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);// 设置字体Font font = new Font(bfChinese, 12, Font.NORMAL);Image image = Image.getInstance("图片地址");// 新建单元格PdfPCell cell = new PdfPCell();// 添加图片cell.addElement(image);// 设置站址编码cell.addElement(new Paragraph("测试标题1:" + data.getTitle(), font));// 设置站址名称cell.addElement(new Paragraph("测试标题2:" + data.getTitle(), font));table.addCell(cell);}//添加空格 撑开表格table.addCell("");pleteRow();doc.add(table);doc.close();} catch (Exception e) {e.printStackTrace();}}

具体流程:

创建文档对象 -----设置文档格式------创建表格对象—设置字体----获取图片----循环数据----创建单元格—向单元格添加图片–添加其他内容----将表格对象添加到文档对象–关闭文档

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。