繁体   English   中英

如何安装PDFKit? (Rails 3.2.1和PDFKit 0.5.2)

[英]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应用程序中工作并遇到了类似的问题。
您需要的三个步骤是:

  1. 您需要将gem“pdfkit”放入GemFile中。
  2. config.middleware.use PDFKit :: Middleware放在您已经拥有的application.rb文件中。
  3. 尝试将以下代码放在'config / initializers'文件夹下 pdfkit.rb文件中。

    PDFKit.configure do | config |

    config.wkhtmltopdf ='C:\\ software \\ utilities \\ wkhtmltopdf \\ wkhtmltopdf.exe'#path到你的wkhtmltppdf安装目录

    config.root_url =“http:// localhost”#仅在服务器上的外部主机名不可用时使用。

    结束

好的,

花了几个小时的谷歌搜索,但我终于在另一个stackoverflow问题中找到了解决方案: pdfkit无法在rails 3.1中正确呈现

感谢您的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM