【问题标题】:Golang packages for doc to docx and docx to pdf convertion? [closed]用于 doc 到 docx 和 docx 到 pdf 转换的 Golang 包? [关闭]
【发布时间】:2016-03-30 05:37:39
【问题描述】:

我正在用 Golang 编写一个 Web 应用程序,用户可以在其中上传 doc 或 docx 文件。某些文件内容将根据预定义的格式进行更改。以后用户可以下载 docx 或 pdf 格式的更改文件。现在我的应用程序只接受 docx 文件,根据预定义的格式更改文件并让用户以 docx 格式本身下载回来。 golang 中有没有可以将 doc 转 docx 和 docx 转 pdf 的包?

【问题讨论】:

  • 你用的是linux还是windows?
  • @codefreak 我正在使用 Linux。
  • 您可以对 doc 2 pdf 使用 linux cmd 实用程序,请参阅 stackoverflow.com/questions/21203626/…。安装并运行后,您可以通过执行 os.Exec 函数来调用该实用程序。

标签: go


【解决方案1】:

由于我使用的是 linux ubuntu OS Hugo 的回答并没有帮助我(但我推荐给 windows 用户)。但它给了我一个关于如何解决这个问题的想法。 codefreak 对这个问题的评论给了我一个清晰的画面。我使用了他们的两个建议,结果是使用 LibreOffice 进行转换。

arg0 := "lowriter"
arg1 := "--invisible" //This command is optional, it will help to disable the splash screen of LibreOffice.
arg2 := "--convert-to"
arg3 := "pdf:writer_pdf_Export"
path := "/home/user/Test.docx"
nout, err := exec.Command(arg0,arg1,arg2,arg3,path).Output()

此代码将调用 LibreOffice 并将 .docx 文件转换为 .pdf。据我所知,这是最简单的方法。请发布其他可能对未来读者有所帮助的答案。

【讨论】:

  • 如果您没有使用 Libreoffice,那么 arg0 可能会相应更改。例如,用于 OpenOffice 的 oowriter 或 sowriter。在终端中检查 oowriter --help 以获取隐形命令(不确定其他人是否有。)。
  • 对于arg0,我用的是"soffice",另外,你可能需要添加"--outdir"的arg4和arg5,以防你需要将文件保存到其他位置。
  • 在 Fedora 31 上是 libreoffice 而不是 lowriter
【解决方案2】:

这将在 windows 上工作,因为它正在使用 windows 功能

https://github.com/piaobocpp/doc2pdf-go

【讨论】:

  • 谢谢。但我使用的是 Linux。还有其他选择吗?
猜你喜欢
  • 2019-04-15
  • 2018-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-10
  • 2019-10-26
相关资源
最近更新 更多