`
zysnba
  • 浏览: 185513 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

freemarker读写word模板生成word文档

 
阅读更多
第一步引入jar
  implementation 'org.freemarker:freemarker:2.3.30'

第二步
  新建word,标题和图片为例
  插入--文档部件--域---选择AutoTextList--新值输入${title}即可。
  图片的要在文档里面插入一个图片,然后另存为xml格式即可。
  找到编辑器找到图片的代码,替换${image}即可。
  标题:${title}
  图片:${image}

第三步
public static void main(String[] args) {
        try {
            Configuration configuration = new Configuration();
            configuration.setDefaultEncoding("UTF-8"); //设置编码
            configuration.setClassForTemplateLoading(FreemarkerDocUtil.class, "/");
            Template template = configuration.getTemplate("templates/123.xml");
            Map<String,Object> model = new HashMap<>();
            model.put("title", "test");
            model.put("image", getImageStr());
            OutputStream fos = new FileOutputStream("D:\\结果.doc");
            OutputStreamWriter oWriter = new OutputStreamWriter(fos, "UTF-8");
            template.process(model, oWriter);
            oWriter.close();
            fos.close();
            System.out.println("生成完成=============");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }



/**
     * 本地图片
     * @return
     */
    private static String getImageStr() {
        String imgFile = "d:/test.jpg";
        InputStream in = null;
        byte[] data = null;
        try {
            in = new FileInputStream(imgFile);
            data = new byte[in.available()];
            in.read(data);
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(data);
    }

    /**
     * 远程网络图片
     * @return
     */
    public static String getImageStrBase64(){
    String imgFile = "http://sasf.jpg";
    InputStream in = null;
    byte[] data = null;
    try {
        URL url= new URL(imgFile);
        in = url.openStream();
        data = new byte[in.available()];
        in.read(data);
        in.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    BASE64Encoder encoder = new BASE64Encoder();
    return encoder.encode(data);
}
分享到:
评论

相关推荐

    POI读取excel,利用Freemarker建立word模板(带图片),生成word文档,再合并成一个word文档(源码)

    Java语言利用POI读取excel文档,利用Freemarker建立word模板(带图片),excel每一行数据生成单个word文档,再利用POI合并成一个word文档(源码); 博客地址:...

    FreeMarker+poi 模板生成word+导入图片

    **FreeMarker + POI:模板生成Word并导入图片** 结合FreeMarker和Apache POI,我们可以创建一个模板Word文档,其中包含占位符,然后使用POI读取和填充这个模板,同时插入图片,生成最终的动态Word文档。以下是这个...

    java freemarker导出word -包含多张图片导出

    在Java应用中,使用FreeMarker导出Word文档可以提供灵活的文本和数据结合的方式,尤其适用于生成报告、合同等复杂格式的文档。本篇将详细介绍如何使用FreeMarker与Java结合来导出包含多张图片的Word文档。 1. **...

    java通过freemarker模板导出word含图片

    在Java中,FreeMarker可以用来生成Word文档,只需要为Word模板提供合适的数据模型。 1. **环境配置**: 在项目中引入FreeMarker的依赖,通常通过Maven或Gradle进行管理。确保添加了`freemarker.jar`和可能需要的...

    java利用FreeMarker导出word

    Java利用FreeMarker导出Word是一项常见的技术需求,尤其在企业级应用中,常常需要将动态数据生成为Word文档,例如报告、合同等。FreeMarker是一个模板引擎,它能将Java对象的数据绑定到模板上,生成HTML、XML或者如...

    生成WORD freemarker导出WORD

    总结来说,“生成WORD freemarker导出WORD”项目提供了一种利用FreeMarker模板和Apache POI库生成Word文档的方法,解决了在实际开发中遇到的难题。通过学习和实践这个项目,开发者可以掌握动态生成Word文档的技术,...

    用Freemarker生成word文档

    ### 使用Freemarker生成Word文档的关键技术点解析 #### 一、引言 在实际工作中,经常需要批量生成带有特定格式或数据填充的Word文档,如报表、合同、通知等。传统的手工创建方法效率低下且易出错。利用Java语言...

    Java用freemarker导出word文档

    `Java用freemarker导出word文档`这个主题涉及到的技术点主要包括Java的Freemarker模板引擎和处理Word文档的相关库。Freemarker是一个强大的、基于模板的生成器,广泛用于Web应用中的动态HTML生成。在这里,它被用来...

    freemarker-2.3.30模板word导出.zip

    压缩包可能包含一份指南,详细说明如何配置和使用提供的Java代码和模板来导出Word文档。这可能涵盖模板的编写规则,数据模型的设计,以及执行导出的步骤。 6. **模板设计**: 在Freemarker中,模板通常包含文本和...

    freemarkerdemo 生成word 插入图片

    在这个"freemarkerdemo生成word插入图片"的示例中,我们主要探讨如何利用Freemarker来创建Word文档,并且将图片集成到这些文档中。这个过程涉及到几个关键的技术点: 1. **Freemarker基础知识**:Freemarker是一个...

    java+Freemarker生成word

    在给定的压缩包文件"java+Freemarker生成word"中,可能包含了示例代码、模板文件以及相关的读取和生成Word文档的工具。通过研究这些文件,你可以更好地理解和实践这一技术,从而在实际项目中灵活运用。

    java 使用 freemarker 导出word 包含 图片和动态的数据表,动态行和动态列

    在Java开发中,导出Word文档是一项常见的任务,特别是在企业级应用中,如报表生成、数据导出等。本篇文章将深入探讨如何使用FreeMarker模板引擎来生成包含图片和动态数据表的Word文档,尤其注重动态行和动态列的处理...

    java使用word模板导出个人简历

    本教程将探讨如何利用Java和特定的模板引擎,如Freemarker,来处理Word模板,生成doc和docx格式的个人简历文件。以下是相关知识点的详细说明: 1. **Freemarker模板引擎**: Freemarker是一个强大的、开源的模板...

    Java freemarker 模板生成word动态表格

    总结来说,Java FreeMarker模板生成Word动态表格是通过结合FreeMarker模板引擎的灵活性和Apache POI的强大功能,来高效地创建和更新包含动态数据的Word文档,尤其适用于需要大量定制和自动化生成的场景。通过理解并...

    使用freemarker生成word文档,源代码+jar包+说明文档及注意事项

    使用freemarker生成word ,并集成struts2 同时生成及下载文档 资料附有Java源代码和自己总结的使用说明及注意事项 大至预览如下: 1、用word编辑好模板 普通字符串替换为 ${string} 表格循环用标签 姓名:${...

    Freemarker生成word文档

    在Java开发中,Freemarker被广泛应用于生成各种类型的文档,包括Word文档。本篇将详细介绍如何利用Freemarker、XML以及Java来生成包含文字、图片等复杂元素的Word文档。 1. Freemarker基础 Freemarker是一个基于...

    java利用freemarker生成word.pdf

    Java利用Freemarker生成Word/PDF是指使用Java语言结合Freemarker模板引擎来生成Word文档或PDF文件的技术。 Freemarker是一个基于Java的模板引擎,它允许开发者使用模板语言来生成文本输出。在本资源中,我们将介绍...

    JavaGenWord-根据模板生成word文档

    JavaGenWord是一个基于Java语言的工具,用于根据预先定义的模板生成Word文档。这个过程主要依赖于FreeMarker库,这是一个强大的、开源的模板引擎,广泛应用于生成动态内容,如HTML、XML、PDF或如本例中的Word文档。...

    javaword文档导出jar包freemarker.rar

    JavaWord文档导出jar包与Freemarker是一个用于在Java后端生成动态Word文档的解决方案。这个rar压缩包中包含的jar文件可以帮助开发者利用Freemarker模板语言将数据动态地填充到Word文档中,实现自动化文档生成。下面...

    一个freemarker导出word的通用包

    在Java中,使用FreeMarker导出Word文档的流程通常包括以下几个步骤: 1. **创建数据模型**:首先,你需要创建一个数据模型,这可能是一个Java对象或者一个Map,包含你需要在Word文档中展示的所有信息。 2. **设计...

Global site tag (gtag.js) - Google Analytics