golang 实现 office 转 pdf/image 有什么库推荐吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
NotreDame
V2EX    Go 编程语言

golang 实现 office 转 pdf/image 有什么库推荐吗?

  NotreDame 2021-09-06 11:08:39 +08:00 5414 次点击
这是一个创建于 1549 天前的主题,其中的信息可能已经有所发展或是发生改变。

已经实现了导出 docx 或者 excel,如何进一步转换为 pdf/image 呢?

31 条回复    2021-09-10 14:00:54 +08:00
murmur
    1
murmur  
   2021-09-06 11:10:30 +08:00   3
不要想着自己开发,买方案吧,自己开发会开发到你吐血

我们之前用 libreoffice,excel 的坑被我们踩遍了,word 还好,excel 全是问题
statumer
    2
statumer  
   2021-09-06 11:12:29 +08:00 via Android
以前解决过这个问题,解决方案是写了个 Java 微服务调用 Aspose 包(收费)
nian8
    3
nian8  
   2021-09-06 11:14:48 +08:00
不知道 openoffice 对 excel 的兼容性咋样
NotreDame
    4
NotreDame  
OP
   2021-09-06 11:16:05 +08:00
@murmur 谢谢,找了一圈开源社区,没找到合适的,这两天还真想自己开发。。。其实需求本身是要实现「文件预览」的功能,我就想曲线救国,所以有了导出 pdf 的想法。无论如何是逃不过 libreoffice 了。

老哥了解这方面解决方案的价格吗,如果上 w 的话,小公司肯定接受不了。
murmur
    5
murmur  
   2021-09-06 11:17:07 +08:00
@NotreDame w 的话可能不够,全套方案怎么可能这点,而且是按人头付费的,你如果是用户量少直接买云服务按次收费多好
murmur
    6
murmur  
   2021-09-06 11:17:24 +08:00
*人头=并发,他们卖的服务是带在线 office 协作的
NotreDme
    7
NotreDame  
OP
   2021-09-06 11:17:32 +08:00
@nian8 现在 libreoffice 更有潜力吧
NotreDame
    8
NotreDame  
OP
   2021-09-06 11:19:07 +08:00
@murmur 有没有推荐的服务商,我去调研下,多谢多谢
murmur
    9
murmur  
   2021-09-06 11:20:19 +08:00   1
我来说一下我们遇到的问题
1 、隐藏 sheet 没法隐藏,会一并被转换出来
2 、pdf 不支持拼接,新的 libreoffice 支持拼接功能,就是那种超长的报表拼接到一张纸上,但是这个功能仅限于图片,不支持 pdf
3 、关联引用不支持离线,excel 的引用支持跨文件公式,如果文件丢失会使用缓存数据,不能编辑但是可以看,libreoffice 是直接报引用错误
NotreDame
    10
NotreDame  
OP
   2021-09-06 11:20:26 +08:00
@murmur 带协作那肯定就贵了,之前有同事看过 wps 的服务,的确不便宜。
murmur
    11
murmur  
   2021-09-06 11:21:33 +08:00
@NotreDame 那就没什么可以交流的了,我们是按集团采购的预算
NotreDame
    12
NotreDame  
OP
   2021-09-06 11:22:45 +08:00
@murmur 多谢多谢
fgwmlhdkkkw
    13
fgwmlhdkkkw  
   2021-09-06 11:25:23 +08:00   1
搞一台电脑,做个自动化流程,自动下载,打开,截图,然后上传截图…………
janxin
    14
janxin  
   2021-09-06 11:31:26 +08:00 via iPhone
付钱就可以变强
bianweiall
    15
bianweiall  
   2021-09-06 12:22:19 +08:00
如果可以的话先生成 html 再转 pdf/image
KagurazakaNyaa
    16
KagurazakaNyaa  
   2021-09-06 12:23:47 +08:00
转 pdf 应该可以调用打印机?
NotreDame
    17
NotreDame  
OP
   2021-09-06 12:52:50 +08:00
@XiLingHost 不是很懂你的意思,我的场景是接口内生成 office 转 pdf 再写回响应。
NotreDame
    18
NotreDame  
OP
   2021-09-06 12:53:29 +08:00
@bianweiall 是个路子,我去调研下,谢谢
eggshell
    19
eggshell  
   2021-09-06 12:56:59 +08:00
我们基于这个 Docker 镜像修改搭建的服务,https://github.com/gotenberg/gotenberg,基于 LibreOffice 的,用下来还可以
eggshell
    20
eggshell  
   2021-09-06 12:58:27 +08:00   2
URL 识别有点问题
Gotenberg:A Docker-powered stateless API for PDF files.

https://gotenberg.dev/
https://github.com/gotenberg/gotenberg
lisongeee
    21
lisongeee  
   2021-09-06 13:52:43 +08:00
用 go 语言然后用命令调用 pandoc
NotreDame
    22
NotreDame  
OP
   2021-09-06 14:43:05 +08:00
@eggshell
@lisongeee

大概过了下文档,很有帮助,十分感谢!
xiongshengyao
    23
xiongshengyao  
   2021-09-06 15:24:10 +08:00
看看这个? https://github.com/xsymphony/gouno
几年前遇到过需要预览 excel 、doc,最后是选择转成 pdf 预览,本质也是 LibreOffice
NotreDame
    24
NotreDame  
OP
   2021-09-06 17:27:07 +08:00
@xiongshengyao 像 office 预览这种需求,思路是不是都是转成浏览器能直接打开的文本格式( pdf/image ),还有其他思路吗?
zheshiasd
    25
zheshiasd  
   2021-09-06 17:30:44 +08:00
以前试过转 latex 再编译 pdf 就是很慢
zjsxwc
    26
zjsxwc  
   2021-09-06 19:55:23 +08:00 via Android
@fgwmlhdkkkw

666,我按你的想法写了个 python 脚本,借助 wps 转换任何文件到 pdf

https://github.com/zjsxwc/wpsconverttopdf
zyxk
    27
zyxk  
   2021-09-07 00:59:35 +08:00
@zjsxwc #26 wps 转换需要会员吧? 用会员转的?
zjsxwc
    28
zjsxwc  
   2021-09-07 08:38:13 +08:00
@zyxk 7 小时 21 分钟前
普通的导出 pdf 不用会员,加水印之类的特殊导出需要买 wps 会员
xiongshengyao
    29
xiongshengyao  
   2021-09-08 10:03:32 +08:00
@NotreDame 当时做完附件预览,领导提的需求就又演进成在线编辑,后来就又基于 onlyoffice 来做..
https://github.com/ONLYOFFICE/Docker-DocumentServer
NotreDame
    30
NotreDame  
OP
   2021-09-08 11:14:26 +08:00
@xiongshengyao 合理怀疑你在我们公司装了监控。。。
xiongshengyao
    31
xiongshengyao  
   2021-09-10 14:00:54 +08:00
@NotreDame 天下领导一般黑
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3178 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 36ms UTC 11:39 PVG 19:39 LAX 03:39 JFK 06:39
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