# cover-jfinal-pdf-plugin **Repository Path**: waters_1/cover-jfinal-pdf-plugin ## Basic Information - **Project Name**: cover-jfinal-pdf-plugin - **Description**: 根据html页面模板生成PDF,模板可绑定图片。(Cover:席有芳 / jfinal-pdf-plugin;地址:https://git.oschina.net/h5lib/jfinal-pdf-plugin) - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2018-08-21 - **Last Updated**: 2021-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cover-jfinal-pdf-plugin 根据html页面模板生成PDF,模板可绑定图片。(Cover:席有芳 / jfinal-pdf-plugin;地址:https://git.oschina.net/h5lib/jfinal-pdf-plugin) ### 简介 --------------- jfinal-pdf-plugin是jfinal的一个PDF生成插件,支持将普通的HTML文本转换成PDF文件,支持CSS样式,中文需要字体支持,通常可用于生成“电子货单、电子保单、电子发票”等,她继承了Jfinal核心目标“开发迅速,代码量少,学习简单”,只需简单的几行代码即可实现PDF生成并下载功能!为您节约更多时间,去陪恋人、家人 和朋友 🙂 ### 示例 ------------- #### 1、设置渲染的字体 > ITextRenderer render = new ITextRenderer();// 设置渲染的字体 > ITextFontResolver fontResolver = render.getFontResolver(); > fontResolver.addFont(FONT, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); #### 2、通过静态HTML生成PDF > File pdfFile = new File(pdfUrl);//设置文件流地址 > OutputStream os = new FileOutputStream(pdfFile);// 将pdf文件转为文件流输出 > PdfKit.createPdf(“HTML内容”); #### 3、通过JFinal模板生成PDF 插件除了支持内容固定的邮件外,还支撑模板邮件,模板默认使用为Jfinal的IMainRenderFactory的模板 > HashMap dataMap = new HashMap(); dataMap.put(“var1”, “变量1”); PdfKit.createPdf(输出流:outputStream, “模板路径:/pdf/tga-pdf.html”, dataMap); #### 4、PDF的CSS一些配置 修改HTML中的CSS样式支持不同PDF尺寸 > @page{ size: A5; } 修改HTML中的CSS调整字体 > body { font-family: “Microsoft YaHei”;//样式中的字体不能写汉字。 font-size: 10px; } 文字间距、边框、字体大小等等都可通过CSS调整。 #### 5、解决图片相对路径的问题 > render.getSharedContext().setBaseURL(LOGO_PATH); > render.layout(); #### 6、效果图 ![PDF效果图附件](http://git.oschina.net/JuniorCode/cover-jfinal-pdf-plugin/attach_files "效果图") ### 使用环境 ------------- 虚拟机环境:JDK1.6+ Jfinal版本:2.2tag 基于2.2编译,理论可支持2.0+ , 主线代码基于jfinal3.0 官方网站:[http://www.fsdev.cn/](http://www.fsdev.cn/)