无法在 Rails 中使用 wkhtmltopdf 写入临时文件

问题描述 投票:0回答:0

我正在使用 Terrapin 从 Rails 内的命令行执行 wkhtmltopdf。

Terrapin::CommandLine.path = "/usr/bin/wkhtmltopdf"
pdfCommand = Terrapin::CommandLine.new("xvfb-run wkhtmltopdf :html_source :pdf_target")
tempHTML = Tempfile.new(["pattern", ".html"])
tempHTML << html
tempPDF = Tempfile.new(["pattern",".pdf"])
pdfCommand.run(html_source: tempHTML.path, pdf_target: tempPDF.path)

它运行,但返回:

QPainter::begin(): Returned false
Error: Unable to write to destination
Exit with code 1, due to unknown error.

我已经确保 wkhtmltopdf 具有完全权限,我不确定 Terrapin 是否与此有关?

编辑:在控制台中运行

xvfb-run wkhtmltopdf http://www.example.com test.pdf
可以按预期工作。

ruby-on-rails wkhtmltopdf temporary-files qpainter
© www.soinside.com 2019 - 2024. All rights reserved.