社区
Web 开发
帖子详情
Java将xml格式的word文档另存为普通word文档的问题
tianxiaohui
2016-04-28 02:12:31
我现在遇到的问题是,有一个xml格式的word文档,我想将文档用程序转为pdf,现在正在使用openoffice,但是发现,普通的word文档可以转pdf,因为我的原文件是xml格式的word,所以pdf转出都是xml的代码,无法还原word格式
所以考虑能否将xml格式的word先另存为普通的word文档再进行转换
请教大家有什么好的方法解决我的问题?
...全文
335
2
打赏
收藏
Java将xml格式的word文档另存为普通word文档的问题
我现在遇到的问题是,有一个xml格式的word文档,我想将文档用程序转为pdf,现在正在使用openoffice,但是发现,普通的word文档可以转pdf,因为我的原文件是xml格式的word,所以pdf转出都是xml的代码,无法还原word格式 所以考虑能否将xml格式的word先另存为普通的word文档再进行转换 请教大家有什么好的方法解决我的问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
丁丁@4521
2019-01-05
打赏
举报
回复
调用office中com组件不就是jacob么,如果是linux系统的话用什么比较合适
attilax
2016-05-02
打赏
举报
回复
调用office的com接口走ok..
Java
项目中利用Freemarker模板引擎导出--生成
Word
文档
在项目中难免和各种数据报表打交道,如导出XX申请表,登记表,推荐表之类。就可以通过现有信息导出
Word
文档
。基于
Java
语言来导出
Word
文档
的方式也有很多种,如Jacob,Apache POI,Freemarker,PageOffice,
java
2
word
等等。。。。 在这里将通过Freemarker这个模板引擎来实现导出
Word
,项目不限于Swing,SSH,SSM,Spring Boot 之类的 ————————————— Spring Boot,Freemarker 编辑好
格式
的
Word
文档
1份 将
Word
文档
里需要填充的地方加上占位符${xxxx} 将编辑好占位符的
文档
另
存
为
XML
格式
Word
2003
XML
文档
,并重命名,用英文命名 利用文本编辑器打开该
XML
文件检查,搜索第二步编辑的占位符,遇到$和 { } 分离的情况则进行修改。检查完毕后保
存
退出。 将检查完成的
XML
文件修改后缀名为 xxx.ftl 模板编辑完成 建立
Java
项目,引入jar包 编写对应数据的实体类 编写测试页面 编写导出的工具类(核心),并修改模板对应的占位符,有需要的话 编写控制层 测试
java
导出
word
文档
,固定模板
使用freemarker技术,首先将
word
模板另
存
为
xml
文档
,方便填充数据。然后将后缀名改为ftl,简单方便.
完美解决方案:
Java
生成复杂
Word
文档
客户要求用程序生成标准的
word
文档
,要能打印,而且不能变形,以前用过很多解决方案,都在客户严格要求下牺牲的无比惨烈。 POI读
word
文档
还行,写
文档
实在不敢恭维,复杂的样式很难控制不提,想象一下一个20多页,嵌套很多表格和图像的
word
文档
靠POI来写代码输出,对程序员来说比去山西挖煤还惨,况且
文档
格式
还经常变化。 iText操作Excel还行。对于复杂的大量的
word
也是噩梦。 直接通过JSP输出样式基本不达标,而且要打印出来就更是惨不忍睹。
Word
从2003开始支持
XML
格式
,用
XML
还做就很简单了。 大致的思路是先用office2003或者2007编辑好
word
的样式,然后另
存
为
xml
,将
xml
翻译为FreeMarker模板,最后用
java
来解析FreeMarker模板并输出Doc。经测试这样方式生成的
word
文档
完全符合office标准,样式、内容控制非常便利,打印也不会变形,生 成的
文档
和office中编辑
文档
完全一样。
freemarker模板技术生成复杂
word
文档
---解决了编码
问题
Word
从2003开始支持
XML
格式
,用
XML
来做就很简单了。 大致的思路是先用office2003或者2007编辑好
word
的样式,然后另
存
为
xml
,将
xml
翻译为FreeMarker模板,最后用
java
来解析FreeMarker模板并输出‘.doc’
word
文档
。经测试这样方式生成的
word
文档
完全符合office标准,样式、内容控制非常便利,打印也不会变形,生成的
文档
和office中编辑
文档
完全一样。
word
的几个主要
xml
标志 w:body 正文内容 w:p 一个段落 w:tbl 表格数据 w:tblPr、w:tblGrid 大概看了下,是定义表格样式,可以先在
word
中定义好,这部分一般不用动态生成 w:tr 表格行 w:tc 行的元素
分页符 基本步骤 1.用
word
做一个需要的
格式
模板,在需要替换的部分用“____”标记,
存
储为
xml
格式
。 2.用myEclipse打开
xml
文档
把“____”修改为freemarker标记 3.写
java
程序根据模板生成
word
总结,之前在网上查到这个资料怎么调试都失败,后来经过反复查找发现是编码
问题
导致生成
word
格式
错误,已经修正,希望能给大家带来帮助。 效率测试生成100000行数据大概4000毫秒左右 完整程序代码已经上传! 关于FreeMarker模板编辑说明在我的资源中有中文
文档
,需要的朋友可以去下载。
Java
通过FreeMarker.jar模板生成
word
文档
Java
通过FreeMarker.jar模板生成
word
文档
原理:通过
word
的另
存
为
xml
文件,将
xml
文件转成freemarker模板文件,然后通过freemarker.jar将数据填充至模板,然后生成doc文件
Web 开发
81,094
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章