谁知道 用freemarker 导出word时,如何使导出word的格式,默认为doc格式

供稿:hz-xin.com     日期:2025-01-14
使用freemarker生成的word文档,如何利用java代码将其转换为pdf格式?

首先,通过xml模板可以将基本上所有的格式都事先锁定,包括页码和分页,只要你事先预设好就能够通过freemarker实现生成,接下来就是我这个问题了,目录怎么解决,下面是解决思路:1:目录的内容可以根据之前其他的内容一样解决,通过XML模板预先设置好,2:目录的页码已经研究过是不能直接通过xml模板实现动态对应了(至少我没搞定0.0)3:由于不能够一步到位,我采取了在模板中预留了一页空白页,只留了抬头的目录两个字,然后通过查询目录二字进行目录的生成,这个功能也是我刚刚折腾出来的0.0目前还没测试能不能用模板生成目录后再更新目录0.0,不过想想可以直接生成目录应该就不用这么麻烦了,至于word生成后的修改0.0我觉得还是以后再说吧..整体来说应该还算完美解决了,代码我就不在这贴出来了~虽然中间折腾了半天走了半天弯路~讲道理还是用的jacob来实现的。。

freemark在linux上生成word以后转pdf直接另存为即可。
工具:word2013
步骤:
1、打开word2013,点击文件,选择另存为。选择其他格式。

2、在另存为界面,选择格式pdf,点击保存即可完成。

注:word2010以下版本另存为没有pdf格式,需下载插件后,才能直接另存为pdf格式。2010以上的版本才可以直接另存为。

将要导出的Word另存为xml格式的文件,打开xml 在其中添加freemarker标签,然后另存为outChairDoc.ftl文件.

第一步要加入Freemarker.jar包。

Servlet代码如下:在outChairDoc.ftl放在包cn.skyclass.jiaowu.freemarker.template下

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

configuration = new Configuration();

configuration.setDefaultEncoding("utf-8");

try {

createDoc(response);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void createDoc(HttpServletResponse response) throws Exception {

// 要填入模本的数据文件

Map dataMap = new HashMap();

dataMap.put("docTitle", "fdfdfdfdfdfdf用户信息");

List<ChairInfo> list = new ArrayList<ChairInfo>();

ChairInfo chairInfo = new ChairInfo();

chairInfo.setChairTitle("dfdfd");

chairInfo.setTeacherName("tea");

chairInfo.setStartTime(new Date());

chairInfo.setPlace("dfdfd");

list.add(chairInfo);

dataMap.put("chairInfoList", list);

// 设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载,

// 这里我们的模板是放在com.havenliu.document.template包下面

configuration.setClassForTemplateLoading(this.getClass(),

"/cn/skyclass/jiaowu/freemarker/template");

Template t = null;

try {

// test.ftl为要装载的模板

t = configuration.getTemplate("outChairDoc.ftl");

t.setEncoding("utf-8");

} catch (IOException e) {

e.printStackTrace();

}

// 输出文档路径及名称

String fileName="讲座列表.doc";

response.setContentType("application/msword");

response.addHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));//可防止导出的文件乱码

response.setCharacterEncoding("utf-8");

PrintWriter out = response.getWriter();

t.process(dataMap, out);

out.close();

}

谁知道 用freemarker 导出word时,如何使导出word的格式,默认为doc格式...
将要导出的Word另存为xml格式的文件,打开xml 在其中添加freemarker标签,然后另存为outChairDoc.ftl文件.第一步要加入Freemarker.jar包。Servlet代码如下:在outChairDoc.ftl放在包cn.skyclass.jiaowu.freemarker.template下 public void doGet(HttpServletRequest request, HttpServletResponse response)throws Se...

freemarker导出word文档对图片拉伸或拉长的处理
1. **调整图片单位**:- 将图片单位从厘米调整为像素,或计算出对应的像素值,以适应Word文档的像素单位。2. **Word文档转换为XML**:- 保存Word文档为XML格式,便于查看和修改图片属性,特别是宽度和高度。3. **计算实际宽度与高度**:- 使用预定义的系数(例如:实际width=cX*100\/914400,实际...

SpringBoot 集成 FreeMarker 导出 Word 模板文件
首先,创建Word模板文件,例如:tableService.doc,如图所示。然后,将这个模板转换为XML格式,这里使用的是WPS软件进行另存。接着,将XML文件转换为FTL(FreeMarker模板语言)文件。在FTL文件中,对关键字进行调整,使用${}语法,如${cswz},这是为了与输入参数或输出参数的字段名对应。在IDEA中,推荐使...

freemarker导出word文档无法读取内容如何解决?
2.3 freemarker渲染在Freemarker模板中,使用`${api.xxx}`语法进行变量引用,``标签用于迭代渲染列表集合。通过构造API接口列表数据并将其传递给模板,即可实现数据的动态渲染。2.4 导出word将数据填充到模板后,通过Freemarker引擎执行渲染,最终生成Word文档。如果需要,可以将生成的Word文件导出到特定的服务...

java freemarker将多个word页导出到一个word文件里
你的意思是以一个背景图为主要模板·后面的2 3 4 5...页都要用这个模板 是吧? 那简单·word菜单里有个格式·在格式里有背景-水印-出来一个对话框·图片水印·吧你要的背景放进去 ·就可以了·这样后面的页数都会是这个背景··如果你是插入图片的那个方法··估计你每个页面都要手动去设置了...

【FreeMarker】Java模板引擎——开箱以及使用
FreeMarker是一个模板引擎,专门用于Java类库,常用于处理大文本内容,以避免频繁查询数据库导致的性能下降。引入模板引擎生成静态网页资源,可以提高系统的整体性能。配置环境时,需要在pom文件中加入相应的依赖,同时配置application.yml文件。接着,创建模板文件。整个环境配置流程较为简洁,易于上手。开发过程...

如何解决用freemarker导出的excel文档是xml格式
生产制造 其他 日报 日报精选 日报广场 用户 认证用户 视频作者 日报作者 知道团队 认证团队 合伙人 企业 媒体 政府 其他组织 商城 手机答题 我的 如何解决用freemarker导出的excel文档是xml格式 搜索资料 我来答 分享 新浪微博 QQ空间 举报 忽略 提交回答 匿名 回答自动保存中为...

...打开导出的文件时报错“文件错误,数据可能丢失”
1.你的excel模版本身有问题,可以尝试新建一个模版。2.你的excel使用了一些POI不支持的函数。解决办法:另存是由excel重写了完整的文件,可以解决问题。关闭文件例子:FileOutputStream os = new FileOutputStream("workbook.xls");wb.write(os);os.close();在保护状态下execl的格式有可能正在被使用,...

freemarker导出word时报出异常求帮助
应该是没有成功生成,内部代码里还包含了word无法识别的代码块,所以无法打开,你可以用记事本查看源代码,freenarker转换的word源代码都是xml格式

Web工程中使用Freemarker导出Word出错,XML文件中使用<#list abc as b...
<#list><\/#list>这个freemarker模版的标签吧.你确定放到xml中能使用?