700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java将数据转为pdf并添加图片 文字水印(表格样式)超简易模式

java将数据转为pdf并添加图片 文字水印(表格样式)超简易模式

时间:2019-03-19 00:00:04

相关推荐

java将数据转为pdf并添加图片 文字水印(表格样式)超简易模式

pdf预览、导出、文字、图片水印(表格样式)

用到的maven依赖

<!-- pdf --><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId></dependency><!-- pdf 转 图片 --><dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId></dependency><!-- 字体 --><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId></dependency>

用到的工具类

PDFUtils.java :主要操作页面转换为pdf

FileUtils.java : 导出、预览pdf使用

config.properties :pdf中使用的字体的位置(部分字体无法显示中文,建议华文系列)

工具类地址 密码:eqqu

config.properties中配置文件内容

使用

前端页面直接请求这里携带一个状态参数,通过响应对象到浏览器

@RequestMapping("exprotPDF")public @ResponseBody void exprotPDF(Integer mode, HttpServletResponse response) throws Exception {// 从数据库查询出需要转换的内容PageInfo<Funds> page = fundsService.queryByPage(null, 1, 100);// 创建一个文档对象Document document = new Document();// 生成pdf文件名称String pdf = UUID.randomUUID().toString() + ".pdf";// 建立一个pdf的书写器,跟上面文档建立关系 可以将文档写入磁盘PdfWriter writer = PDFUtils.createDoc(document, "d:/mypdf/" + pdf);// 文档中要添加的内容 标题 等等ArrayList<String> list = new ArrayList<>();list.add("基金列表");// 通过工具类给文档对象添加并规定字体大小PDFUtils.addContent(document,list,20);// 给文档对象添加表格,标明表头,实体类中名称,数据来源,页面从左向右偏移量,从下向上偏移量PDFUtils.addTable(writer,new String[] {"基金编号","基金名称","基金价格"},new String[]{"id","name","price"},page.getList(),40,600);// 一定要先关闭 在添加水印document.close();writer.close();// 添加水印 参数:要作为水印的图片位置,文件输入流(未加水印的位置),文件输出流(添加完水印的pdf要输出位置),文字水印PDFUtils.markImage("G:\\img\\323743.jpg",new FileInputStream("d:/mypdf/"+ pdf),new FileOutputStream("d:/mypdf1/"+pdf),"版权所有");// 下载文件 响应对象,加完水印之后的位置,要生成的文件名,状态(0:导出,1:预览)FileUtils.download(response,"d:/mypdf1/"+pdf,"基金列表.pdf",mode);}

效果

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