word 转 PDF 有什么好一点的方法? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
MeloForsaken
V2EX    程序员

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

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

    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
       201-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 吧
    TaurusXin
        19
    TaurusXin  
       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     Solana     5713 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 06:18 PVG 14:18 LAX 22:18 JFK 01:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86