当运行这样的命令时,它生成pdf文档:
$ wkhtmltopdf http://google.com google.pdf
Loading pages (1/5)
Resolving links (2/5)
Counting pages (3/5)
Printing pages (5/5)
Done 但是,当pdfkit gem使用内部应用程序时,就会出现错误。
merb : worker (port 4000) ~ command failed: "/usr/local/bin/wkhtmltopdf" "--page-size" "Letter" "--print-media-type" "--margin-right" "0.0in" "--encoding" "UTF-8" "--margin-top" "0.5in" "--margin-bottom" "0.5in" "--margin-left" "0.0in" "--quiet" "-" "-" - (RuntimeError)什么尝试:
设置路径
config.wkhtmltopdf = '/usr/local/bin/wkhtmltopdf '
安装依赖项
sudo aptitude install openssl build-essential xorg libssl-dev环境
发布于 2013-12-19 05:50:13
通过更改服务器端口号解决了问题
从…
bundle exec merb -a thin #default port 4000至
bundle exec merb -a thin -p 3000并使用gem“wkhtmltopdf-二进制”。
解释
有时可以发现,我们在开发中使用的单线程web服务器可能会导致竞争情况。浏览器正在连接可用的一个线程,并开始一个新的web请求来创建pdf文件html,这将导致第二个web请求。由于您唯一的web服务器线程已经在使用,您可以找到这个挂起。
要解决这个问题,要么运行更多线程。或者使用另一个端口进行内部访问,并且具有内部URL
https://stackoverflow.com/questions/20626720
复制相似问题