栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

用到的maven依赖



    com.itextpdf
    itextpdf



	org.apache.pdfbox
	pdfbox



	com.itextpdf
	itext-asian
		

用到的工具类

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 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 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);
}

效果


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756680.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号