Golang Go语言中实现 office 转 pdf/image 有什么库推荐吗?

发布于 1周前 作者 caililin 来自 Go语言

Golang Go语言中实现 office 转 pdf/image 有什么库推荐吗?

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

32 回复

不要想着自己开发,买方案吧,自己开发会开发到你吐血

我们之前用 libreoffice,excel 的坑被我们踩遍了,word 还好,excel 全是问题

更多关于Golang Go语言中实现 office 转 pdf/image 有什么库推荐吗?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


以前解决过这个问题,解决方案是写了个 Java 微服务调用 Aspose 包(收费)

不知道 openoffice 对 excel 的兼容性咋样

谢谢,找了一圈开源社区,没找到合适的,这两天还真想自己开发。。。其实需求本身是要实现「文件预览」的功能,我就想曲线救国,所以有了导出 pdf 的想法。无论如何是逃不过 libreoffice 了。

老哥了解这方面解决方案的价格吗,如果上 w 的话,小公司肯定接受不了。

w 的话可能不够,全套方案怎么可能这点,而且是按人头付费的,你如果是用户量少直接买云服务按次收费多好

*人头=并发,他们卖的服务是带在线 office 协作的

现在 libreoffice 更有潜力吧

有没有推荐的服务商,我去调研下,多谢多谢

我来说一下我们遇到的问题
1 、隐藏 sheet 没法隐藏,会一并被转换出来
2 、pdf 不支持拼接,新的 libreoffice 支持拼接功能,就是那种超长的报表拼接到一张纸上,但是这个功能仅限于图片,不支持 pdf
3 、关联引用不支持离线,excel 的引用支持跨文件公式,如果文件丢失会使用缓存数据,不能编辑但是可以看,libreoffice 是直接报引用错误

带协作那肯定就贵了,之前有同事看过 wps 的服务,的确不便宜。

那就没什么可以交流的了,我们是按集团采购的预算

搞一台电脑,做个自动化流程,自动下载,打开,截图,然后上传截图…………🐶

付钱就可以变强

如果可以的话先生成 html 再转 pdf/image

转 pdf 应该可以调用打印机?

不是很懂你的意思,我的场景是接口内生成 office 转 pdf 再写回响应。

是个路子,我去调研下,谢谢

我们基于这个 Docker 镜像修改搭建的服务,https://github.com/gotenberg/gotenberg,基于 LibreOffice 的,用下来还可以

URL 识别有点问题
Gotenberg:A Docker-powered stateless API for PDF files.

https://gotenberg.dev/
https://github.com/gotenberg/gotenberg

用 go 语言然后用命令调用 pandoc




大概过了下文档,很有帮助,十分感谢!

看看这个? https://github.com/xsymphony/gouno
几年前遇到过需要预览 excel 、doc,最后是选择转成 pdf 预览,本质也是 LibreOffice

像 office 预览这种需求,思路是不是都是转成浏览器能直接打开的文本格式( pdf/image ),还有其他思路吗?

以前试过转 latex 再编译 pdf 就是很慢



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

https://github.com/zjsxwc/wpsconverttopdf

#26 wps 转换需要会员吧? 用会员转的?

7 小时 21 分钟前
普通的导出 pdf 不用会员,加水印之类的特殊导出需要买 wps 会员

当时做完附件预览,领导提的需求就又演进成在线编辑,后来就又基于 onlyoffice 来做…
https://github.com/ONLYOFFICE/Docker-DocumentServer

合理怀疑你在我们公司装了监控。。。

天下领导一般黑

在Go语言中,实现Office文件(如Word)转换为PDF或图片,有几个值得推荐的库。

对于Word转PDF,可以考虑使用uniofficegopdf这两个库。unioffice专门用于处理Word文件,支持读取、编辑等功能,而gopdf则是一个强大的PDF生成库,能够轻松创建高质量的PDF文档。通过结合这两个库,你可以先使用unioffice读取Word文件内容,再利用gopdf将内容写入PDF文件。

此外,如果你希望将Office文件转换为图片格式,Go语言的标准库image及相关编码库(如jpeg、png等)提供了基本的图像处理功能。你可以读取Office文件(如通过其他库解析为文本或图像数据),然后使用这些库将数据处理成图片格式并保存。

另外,还有一个简单直接但依赖外部软件的方法,即使用如LibreOffice这样的办公软件进行转换。在Go代码中,你可以通过exec包执行LibreOffice的命令行指令,实现Word到PDF的转换。不过,这种方法需要确保系统中已安装LibreOffice。

综上所述,根据你的具体需求和项目环境,选择合适的库和方法进行实现。

回到顶部