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

word 转 PDF 有什么好一点的方法?

  •  
  •   MeloForsaken · 2021-05-21 14:58:23 +08:00 · 4261 次点击
    这是一个创建于 1042 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Linux Java

    26 条回复    2021-05-22 21:25:06 +08:00
    L1shen
        1
    L1shen  
       2021-05-21 15:03:03 +08:00
    libreoffice
    shawnbluce
        2
    shawnbluce  
       2021-05-21 15:03:17 +08:00
    ctrl + p 打印
    woctordho
        3
    woctordho  
       2021-05-21 15:03:48 +08:00 via Android
    pandoc
    no1xsyzy
        4
    no1xsyzy  
       2021-05-21 15:04:50 +08:00
    @woctordho pandoc 走的是转 LaTeX 再编译成 PDF 的路线吧
    strengthen
        5
    strengthen  
       2021-05-21 15:06:21 +08:00   ❤️ 9
    亲,这边建议您 Office 打开 Word,点击 [另存为] ,选择 PDF 格式呢。
    tabris17
        6
    tabris17  
       2021-05-21 15:14:38 +08:00
    MeloForsaken
        7
    MeloForsaken  
    OP
       2021-05-21 15:14:47 +08:00
    @L1shen @shawnbluce @woctordho @no1xsyzy 有没有不需要安装,直接用代码实现的方法?
    lalalaXxx
        8
    lalalaXxx  
       2021-05-21 15:54:50 +08:00
    aspose 这个包,用他的方法就可以实现
    manami
        9
    manami  
       2021-05-21 15:56:22 +08:00
    poi:word 转 html
    itext:html 转 pdf
    myd
        10
    myd  
       2021-05-21 15:59:04 +08:00
    linux 可以调用 libreoffice 来转成 pdf,缺点是 libreoffice 和 Windows 的 office 样式有点不一样。
    如果对格式要求比较严格,可以在 windows 下调用 office 的接口来转 pdf 。当然不同版本的 office 样式也有差异
    skotori
        11
    skotori  
       2021-05-21 16:54:52 +08:00
    aspose
    loveyou1
        12
    loveyou1  
       2021-05-21 17:10:57 +08:00
    windows + word api
    loveyou1
        13
    loveyou1  
       2021-05-21 17:11:14 +08:00
    windows + word api:转换效果页数是精准的,如果是做在线打印这一点很重要
    thedrwu
        14
    thedrwu  
       2021-05-21 17:56:50 +08:00 via Android
    wine/虚拟机 office + ode
    zackZhong
        15
    zackZhong  
       2021-05-21 19:10:35 +08:00
    推荐下 smartpaf
    zackZhong
        16
    zackZhong  
       2021-05-21 19:10:56 +08:00
    打错,是 smartpdf
    zhou1024
        17
    zhou1024  
       2021-05-21 22:13:49 +08:00
    @strengthen 哈哈哈哈,笑死
    TimeRain
        18
    TimeRain  
       2021-05-21 22:45:58 +08:00
    smallpdf 吧
    xinge666
        19
    xinge666  
       2021-05-22 01:11:40 +08:00 via iPhone
    这不是装个 Adobe Acrobat 之后 直接另存为就有 PDF 吗
    docx
        20
    docx  
       2021-05-22 06:25:33 +08:00 via Android
    好像很多人都没注意到 Linux Java 这个要求
    zjsxwc
        21
    zjsxwc  
       2021-05-22 09:01:46 +08:00
    要把 xxx.docx 转换成 pdf,在 linux 下,用命令行执行
    `libreoffice --headless --convert-to pdf --outdir ~/result_pdfs/ ~/xxx.docx`
    就会得到 ~/result_pdfs/xxx.pdf 。

    不过要求是你要在 linux 中安装 windows 的版权字体,不然生成的 pdf 字体格式会和 windows 预览的不一样。

    ps java 当然可以调用命令行执行外部命令。
    LeeSeoung
        22
    LeeSeoung  
       2021-05-22 09:52:13 +08:00
    itext 但是实际上效果都不好,如果最终是为了生成 pdf,那还是一开始就用 itext 画吧
    djoiwhud
        23
    djoiwhud  
       2021-05-22 14:45:48 +08:00 via Android
    为啥有这个需求呢? word 是怎么生成的?如果是代码写的,直接生成 pdf 难度系数还低很多。如果是人编辑的,office 另存为功能不是满足的么?
    zpf124
        24
    zpf124  
       2021-05-22 14:57:40 +08:00
    之前公司项目早期用过 exec 调用 openoffice 的 api,字体什么的复制一下到机器上就解决了,但当时转出来 pdf 清晰度和排版都有可能出问题,最后就放弃了,要求用户自己上传 pdf 文件。

    不知道 libreoffice 有没有这些问题。
    siweipancc
        25
    siweipancc  
       2021-05-22 17:27:26 +08:00 via iPhone
    _(:_」∠)_ 这边有个 excel 转 word 合同的需求,还涉及公式计算,当场让产品改成只导出 excel 格式
    cz5424
        26
    cz5424  
       2021-05-22 21:25:06 +08:00 via iPhone
    libreoffice 最大的问题是排版会有差异
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2926 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:15 · PVG 23:15 · LAX 08:15 · JFK 11:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.