Rails:如何将模型的详细信息打印到A4 PDF页面?

在我的工作管理应用程序中,我想为客户准备A4页面收据。

因此,我需要以某种方式将Job模型的详细信息打印到单个A4 PDF页面。

Rails中的任何内置工具都是为此目的吗?

如果不是,最好的方法是什么?

基本上有两种选择:( 任何PDF创建都需要一个gem – 没有为rails创建默认的PDF)

  1. 使用Prawn创建纯PDF,您必须使用Prawn API进行所有格式化

  2. 创建收据的HTML版本并将其转换为PDF,其中一个更好的gem是PDFkit 。 它使用基于Web工具包的浏览器引擎。

它们都很好用,对于一页文档,我通常使用PDFkit来转换HTML,而对于那些有大量页面的大文档,我使用Prawn,因为它可以提供更小的文件大小并更好地处理多个页面。

我的建议是制作HTML收据并将其显示在屏幕上,并为用户提供使用PDFkit保存PDF版本的选项。

编辑:Windows安装。 (未经过测试 – Windows和我分手了。)

下载wkhtmltopdf的windows安装程序: win-wkhtmltopdf

现在创建一个初始化文件,例如config / intializers / pdfkit_config.rb

在pdfkit_config.rb中设置本地计算机上wkhtmltopdf的绝对路径:

 PDFKit.configure do |config| if RAILS_ENV == 'development' config.wkhtmltopdf = 'D:\path\to\your\wkhtmltopdf' #this bit i'm not sure about else config.wkhtmltopdf = "#{RAILS_ROOT}/lib/wkhtmltopdf" end end 

对于你的生产ENV你实际上可以在你的repo中有一个wkhtmltopdf的副本,当然是一个unix版本。 (记得在git添加它之前chmod + x它)

这是一款名为prawn的gem,有助于PDF生成。 这是一个使用它来获得一些想法的教程:

http://railstips.org/blog/archives/2008/10/13/how-to-generate-pdfs-in-rails-with-prawn/