使用freemarker动态填充html并可转为图片

简介: 使用freemarker动态填充html并可转为图片

1. 引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>


2. 模板html文件中将需要替换的地方使用占位符进行替换

  1. 使用占位符${}进行占位操作;
<div style="height: 17px;">
  <span style="height: 100%;
  line-height: 17px;">姓名:</span>
  <span style="height: 100%;
  line-height: 17px;">${name}</span>
</div>


3. 编写Util类

  1. 使用try (FileWriter writer = new FileWriter(targetHtmlPath)) { }来自动关闭流,避免手动释放;
  2. 将模板html文件放到starter目录下的resource里的templates包下即可;
public class GenHtmlUtil {
  public static void genNewHtml(String template, Map<String, Object> map, String targetHtmlPath) {
    try (FileWriter writer = new FileWriter(targetHtmlPath)) {
      Configuration configuration = new Configuration(Configuration.getVersion());
      String templatePath = GenHtmlUtil.class.getResource("/").getPath() + "templates";
      configuration.setDirectoryForTemplateLoading(new File(templatePath));
      Template t = configuration.getTemplate(template);
      String content = FreeMarkerTemplateUtils.processTemplateIntoString(t, map);
      writer.write(content);
      writer.flush();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

4. 调用Util

  1. 对第2步中使用${}进行占位的地方使用Map进行填充,并调用Util;
Map<String, Object> map = Maps.newHashMap();
map.put("name", name);
map.put("sex", sex);
map.put("age", age);
GenHtmlUtil.genNewHtml("template.html", map, "result.html");


然后就可在项目根目录下找到生成的名为"result.html"html文件啦。

那么如何将生成的html文件转为图片文件呢?

目录
相关文章
|
20天前
利用html2canvas插件自定义生成名片信息并保存图片
这是一个利用html2canvas插件自定义生成名片信息并保存图片,自定义上传头像,自定义输入个人信息内容,自定义图片名称,并将生成的图片保存到本地
33 1
利用html2canvas插件自定义生成名片信息并保存图片
|
4月前
|
移动开发 前端开发 JavaScript
基于 HTML5 和 Canvas 开发的在线图片编辑器
基于 HTML5 和 Canvas 开发的在线图片编辑器
103 0
|
1月前
HTML图片
【10月更文挑战第4天】HTML图片。
28 2
|
2月前
|
前端开发
Twaver-HTML5基础学习(37)network导出图片并下载
本文介绍了如何在Twaver-HTML5中将network导出为图片并提供下载,主要通过将network转换为canvas对象,然后转换为base64编码的图片进行展示和下载。
40 5
|
2月前
|
前端开发 Windows
【前端web入门第一天】02 HTML图片标签 超链接标签 音频标签 视频标签
本文档详细介绍了HTML中的图片、超链接、音频和视频标签的使用方法。首先讲解了`&lt;img&gt;`标签的基本用法及其属性,包括如何使用相对路径和绝对路径。接着介绍了`&lt;a&gt;`标签,用于创建超链接,并展示了如何设置目标页面打开方式。最后,文档还涵盖了如何在网页中嵌入音频和视频文件,包括简化写法及常用属性。
51 13
|
3月前
在线将多张图片拼接起来图工具HTML源码
在线将多张图片拼接成一张图片,多图合一并导出下载。无需本地安装软件。 下载时,使用日期时间作为文件名,规避图片文件名相同造成的覆盖问题;也能省去一部覆盖确认操作 多语言支持
45 0
在线将多张图片拼接起来图工具HTML源码
|
3月前
|
Python
Python 下载 html 中的 图片
Python 下载 html 中的 图片
33 2
|
4月前
动态粒子发射404网站HTML源码
动态粒子发射404网站HTML源码,粒子内容可以进行修改,默认是4,0数字还有一个页面不存在英文,可以自行修改,喜欢的朋友可以拿去使用,源码是html,记事本打开修改即可,鼠标双击可以运行
61 1
动态粒子发射404网站HTML源码
|
4月前
|
数据采集 缓存 自然语言处理
PHP将HTML标签转化为图片
通过这个方法,PHP后端能够实现将HTML内容转化为图片的功能。这种方式虽然牵涉到一些额外的安装和配置,但能够相对灵活且稳定地解冀转换需求,适用于需要在后端动态生成图片的场景。
204 1
|
4月前
|
JavaScript 前端开发 CDN
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
110 0
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)