登录
首页 >  Golang >  Go问答

未找到 wkhtmltopdf - Golang Ubuntu

来源:stackoverflow

时间:2024-04-23 17:54:35 177浏览 收藏

从现在开始,努力学习吧!本文《未找到 wkhtmltopdf - Golang Ubuntu》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

在尝试了很多解决此错误的方法后,我在此发布此问题。我编写了一个将 html 转换为 pdf 并返回 pdf 字节作为输出的方法。

import (
"bytes"
"github.com/SebastiaanKlippert/go-wkhtmltopdf" 
)

func HtmlToPdf(htmlData *string) ([]byte, error) {
pdfg, err := wkhtmltopdf.NewPDFGenerator()
if err != nil {
    return nil, err
}
pdfg.AddPage(wkhtmltopdf.NewPageReader(bytes.NewReader([]byte(*htmlData))))
//nolint: gomnd
pdfg.Dpi.Set(600)
jb, err := pdfg.ToJSON()
if err != nil {
    return nil, err
}
pdfgFromJSON, err := wkhtmltopdf.NewPDFGeneratorFromJSON(bytes.NewReader(jb))
if err != nil {
    return nil, err
}

err = pdfgFromJSON.Create()
if err != nil {
    return nil, err
}
pdfBytes := pdfgFromJSON.Bytes()

return pdfBytes, nil }

调用此方法会返回错误找不到wkhtmltopdf 我尝试过以下解决方案

  1. 其中 wkhtmltopdf /usr/local/bin/wkhtmltopdf 然后在我的代码的环境部分设置 wkhtmltopdf_path: /usr/local/bin/wkhtmltopdf

  2. 在 htmltopdf 方法顶部使用 setpath,例如

    wkhtmltopdf.setpath("/usr/local/bin/wkhtmltopdf")

在这种情况下,错误更改为 fork/exec /usr/local/bin/wkhtmltopdf: no such file or directory

  1. 将 wkhtml 文件移动到 /usr/local/go/bin/ 并使用路径后也尝试过 /usr/local/go/bin/wkhtmltopdf

  2. 使用命令行将任何网址转换为 pdf 也可以正常工作。

注意:在终端中点击 wkhtmltopdf --version 会得到 wkhtmltopdf 0.12.6(带有修补的 qt),并且使用 go get github.com/sebastiaanklippert/go-wkhtmltopdf 安装软件包

还有其他解决方案吗?


正确答案


你好,在我的例子中,你应该安装 wkhtmltopdf ,但如果你使用的是 MacOS,那么只需在终端上安装

并确保路径目录与您安装的 wkhtmltopdf 相同

本篇关于《未找到 wkhtmltopdf - Golang Ubuntu》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>