适用于rails的最佳pdf库

时间:2013-07-19 13:39:04

标签: ruby-on-rails pdf-generation

我需要使用表创建pdf。我是用虾开始的。但它太慢并且继续使用100%的CPU。现在我搬到了wicked_pdf。

这比大虾快得多,但仍然可以更快。我的一位朋友推荐了TCPDF。

我发现rfpdf gem是rails的TCPDF插件。有没有人在这里使用它?它有多快?

我还找到了fpdf。它们比wicked_pdf更好吗?

4 个答案:

答案 0 :(得分:3)

你可以使用'wicked_pdf'宝石。它为使用html代码生成pdf提供了非常好的支持。 https://github.com/mileszs/wicked_pdf

在控制器中:

def show
  @report = Report.find(params[:id])
  respond_to do |format|
    format.html # show.html.erb
    format.pdf do
      render :pdf => "report",:template => "reports/show"
    end 
  end
end

创建一个show.pdf.erb,你可以编写简单的html。

<%= wicked_pdf_stylesheet_link_tag "application" %>
<h1> Report </h1>
<p>
<%= @report.details %>
.................................
</p>

答案 1 :(得分:0)

尝试使用PdfKIT,它非常棒且使用起来非常简单。 Here是一个截屏视频。

答案 2 :(得分:0)

您没有说明源素材的格式。如果您从简单的文本文档,HTML或其他简单的标记格式开始,那么您可能希望查看Pandoc。此工具可让您将简单文档类型转换为多种发布类型格式,包括PDF。

由于您需要在PDF文件中生成表格,因此一个简单的选择是在Markdown format中创建文档,其中包括创建表格的简单规则。有关示例,请参阅此cheat sheet

最后,我最近阅读的是blog post,讨论了将Markdown文档转换为PDF文件。

由于您正在使用Rails,因此Pandoc也存在lightweight wrapper,可能会有用。

答案 3 :(得分:0)

也来看看另一个宝石:https://github.com/igorkasyanchuk/rails_pdf

它使用无头的chrome来创建PDF。