V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lixueyu001
V2EX  ›  Java

hello ,有没有人用 freemarker 生成过 word,然后再把这个 word 转成 pdf 了 ,我用 openoffice 转 pdf 结果把输出的是一堆 xml

  •  
  •   lixueyu001 · 2017-09-29 08:45:18 +08:00 · 6318 次点击
    这是一个创建于 2619 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家还有没有别的方案

    14 条回复    2017-09-29 18:48:35 +08:00
    BBCCBB
        1
    BBCCBB  
       2017-09-29 08:51:54 +08:00
    我用 freemarker 生成过 word, 这种方法叫 wordxml 嘛, 其实不止 freemarker,用任何模板都可以实现,
    不过没进一步转成 pdf,转成 pdf 得需要其他的库了吧
    lixueyu001
        2
    lixueyu001  
    OP
       2017-09-29 08:59:21 +08:00
    @BBCCBB 对,word 我生成了 转 pdf 用的 jodconverter + openoffic 结果生成出来的 pdf 内容是 xml
    kohos
        3
    kohos  
       2017-09-29 09:01:39 +08:00
    java 可以用 jodconverter 调用 libreoffice 的进程把 word 文档转换成 pdf,但是系统需要安装了对应的字体才不会被默认字体代替
    CoX
        4
    CoX  
       2017-09-29 09:03:05 +08:00 via iPhone
    不介意付费方案的话,aspose.words 很省心。
    lixueyu001
        5
    lixueyu001  
    OP
       2017-09-29 09:03:25 +08:00
    @kohos xml 类型的 word 也可以转成 pdf 吗, 我转出来的 pdf 内容是完整的 pdf
    lixueyu001
        6
    lixueyu001  
    OP
       2017-09-29 09:04:39 +08:00
    @lixueyu001 说错了 转出来的 pdf 内容是完整的 xml
    blackshadow
        7
    blackshadow  
       2017-09-29 09:14:57 +08:00
    如果是在 linux 平台下, 只要你的 word 能被 libreoffice 打开阅读,完全可以用 java 跑 “ unoconv ” shell 命令把他转成 pdf,不过可能 word 的排版会乱。前提是装了 libreoffice
    vuuv
        8
    vuuv  
       2017-09-29 09:27:29 +08:00 via Android
    @lixueyu001 #6 docx 其实是 zip 文件。里面有个 document.xml 保存着文本内容。你可以创建一个空 docx 文件,然后替换 zip 里面的 document.xml 试试。
    你直接输入 xml 文件,就成了文本文档转 pdf,当然全文存储。
    lixueyu001
        9
    lixueyu001  
    OP
       2017-09-29 09:32:25 +08:00
    @vuuv 多谢 ,我试一下
    execute
        10
    execute  
       2017-09-29 09:49:09 +08:00 via Android
    我觉得如果你这个需求不是要求排版什么的经常改的话,可以试一试直接生成 PDF,减少中间那么多过程出错的几率
    paranoiagu
        11
    paranoiagu  
       2017-09-29 09:52:48 +08:00 via Android
    @CoX aspose 也不能 100%,前段时间被这个搞死了。当然这已经是挺好的了。
    lixueyu001
        12
    lixueyu001  
    OP
       2017-09-29 15:04:10 +08:00
    @vuuv 这样弄可以转 pdf 可是转出来的 pdf 样式全飞了 好不幸
    lixueyu001
        13
    lixueyu001  
    OP
       2017-09-29 18:48:24 +08:00
    @CoX 的确好用 感谢
    lixueyu001
        14
    lixueyu001  
    OP
       2017-09-29 18:48:35 +08:00
    谢谢大家!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2820 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:42 · PVG 15:42 · LAX 23:42 · JFK 02:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.