[英]How to install PDFKit? (Rails 3.2.1 and PDFKit 0.5.2)
我正在尝试使用PDFKit。
它看起来相当简单,所以我试图跟随Ryan的Rails演员 。
所以我将gem添加到我的GemFile并更新了我的application.rb
:
config.middleware.use "PDFKit::Middleware"
之后我在linux上安装了wkhtmltopdf:
apt-get install wkhtmltopdf
我确保它有效:
[nicolas@Minto]%wkhtmltopdf www.google.com gogole.pdf
Loading page (1/2)
Printing pages (2/2)
Done
在我尝试在我的一个页面上添加.pdf之前,一切看起来都很好......
该网站永远处于加载状态。 当我在控制台中使用Ctrl - C
停止服务器时,出现以下错误:
RuntimeError (command failed: "/usr/bin/wkhtmltopdf" "--page-size" "Letter" "--margin-top" "0.75in" "--margin-right" "0.75in" "--margin-bottom" "0.75in" "--margin-left" "0.75in" "--encoding" "UTF-8" "--print-media-type" "--quiet" "-" "-"):
pdfkit (0.5.2) lib/pdfkit/pdfkit.rb:71:in `to_pdf'
pdfkit (0.5.2) lib/pdfkit/middleware.rb:21:in `call'
我究竟做错了什么?
我也跟着Ryan的Rails演员 。
PDFkit依赖于wkhtmltopdf.rb。 任何版本> 0.9.9都导致PDF创建过程在完成之前挂起,需要Ctrl-C。我使用的是OS X 10.6.8,而不是Linux。 但试试:
wkhtmltopdf --version
如果它> 0.9.9,则回滚到0.9.9。 解决了我的问题。 花了我几个小时才弄清楚。
我们在这里有一个相关的问题: PDF生成使用PDFKit和wkhtmotopdf挂起
引用Beerlington的解决方案:
尝试从HTML中删除任何javascript包含标记,看看是否至少让PDF呈现。 如果可行,那么至少你有一个起点。
我试过了,这对我有用。
我认为它与javascript和具有相对路径的样式表等资产有关。
我最近使用PDFKit并使其在我的rails应用程序中工作并遇到了类似的问题。
您需要的三个步骤是:
尝试将以下代码放在'config / initializers'文件夹下的 pdfkit.rb文件中。
PDFKit.configure do | config |
config.wkhtmltopdf ='C:\\ software \\ utilities \\ wkhtmltopdf \\ wkhtmltopdf.exe'#path到你的wkhtmltppdf安装目录
config.root_url =“http:// localhost”#仅在服务器上的外部主机名不可用时使用。
结束
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.