大家还有没有别的方案
1
BBCCBB 2017-09-29 08:51:54 +08:00
我用 freemarker 生成过 word, 这种方法叫 wordxml 嘛, 其实不止 freemarker,用任何模板都可以实现,
不过没进一步转成 pdf,转成 pdf 得需要其他的库了吧 |
2
lixueyu001 OP @BBCCBB 对,word 我生成了 转 pdf 用的 jodconverter + openoffic 结果生成出来的 pdf 内容是 xml
|
3
kohos 2017-09-29 09:01:39 +08:00
java 可以用 jodconverter 调用 libreoffice 的进程把 word 文档转换成 pdf,但是系统需要安装了对应的字体才不会被默认字体代替
|
4
CoX 2017-09-29 09:03:05 +08:00 via iPhone
不介意付费方案的话,aspose.words 很省心。
|
5
lixueyu001 OP @kohos xml 类型的 word 也可以转成 pdf 吗, 我转出来的 pdf 内容是完整的 pdf
|
6
lixueyu001 OP @lixueyu001 说错了 转出来的 pdf 内容是完整的 xml
|
7
blackshadow 2017-09-29 09:14:57 +08:00
如果是在 linux 平台下, 只要你的 word 能被 libreoffice 打开阅读,完全可以用 java 跑 “ unoconv ” shell 命令把他转成 pdf,不过可能 word 的排版会乱。前提是装了 libreoffice
|
8
vuuv 2017-09-29 09:27:29 +08:00 via Android
@lixueyu001 #6 docx 其实是 zip 文件。里面有个 document.xml 保存着文本内容。你可以创建一个空 docx 文件,然后替换 zip 里面的 document.xml 试试。
你直接输入 xml 文件,就成了文本文档转 pdf,当然全文存储。 |
9
lixueyu001 OP @vuuv 多谢 ,我试一下
|
10
execute 2017-09-29 09:49:09 +08:00 via Android
我觉得如果你这个需求不是要求排版什么的经常改的话,可以试一试直接生成 PDF,减少中间那么多过程出错的几率
|
11
paranoiagu 2017-09-29 09:52:48 +08:00 via Android
@CoX aspose 也不能 100%,前段时间被这个搞死了。当然这已经是挺好的了。
|
12
lixueyu001 OP @vuuv 这样弄可以转 pdf 可是转出来的 pdf 样式全飞了 好不幸
|
13
lixueyu001 OP @CoX 的确好用 感谢
|
14
lixueyu001 OP 谢谢大家!
|