【发布时间】:2011-03-03 05:38:31
【问题描述】:
在我的 Rails 3 应用程序中在 Windows 上我有以下页面,其中显示了工作收据并允许用户对其进行编辑:
http://localhost:3001/jobs/45/invoice
我在页面底部还有一个“创建 PDF”按钮。按下时,我的JobsController 中的create_pdf_invoice 被调用:
def create_pdf_invoice
job = Job.find(params[:id])
kit = PDFKit.new("<h1>Hello</h1><p>This is PDF!!!</p>", :page_size => "A4")
file = kit.to_file("my_file_name.pdf")
redirect_to(:action => 'index')
end
end
一切正常,即创建 PDF!
我的问题是如何打印发票本身而不是这个静态文本(比如我在http://localhost:3001/jobs/45/invoice 页面上按“打印”)?
更新
我试着放了
require 'pdfkit'
和
config.middleware.use PDFKit::Middleware
在config/application.rb 建议here。
服务器正常启动,但是当我去
http://localhost:3001/jobs/45/invoice.pdf
Ruby 崩溃:
我用:
ruby 1.9.2p0 (2010-08-18) [i386-mingw32]
Rails 3.0.1
rake, version 0.8.7
pdfkit (0.5.0)
有什么想法吗?
【问题讨论】:
-
我不确定我是否理解正确。您想将
http://localhost:3001/jobs/45/invoice的视图转换为 PDF,或者您想使用(例如激光)打印机将当前视图print?或者打印 PDF 而不是 HTML? -
我想将
http://localhost:3001/jobs/45/invoice转换为PDF。 -
在@tommasop 的回答之后,我没有太多要说的:) 但railscasts.com/episodes/220-pdfkit,也可能会有所帮助。
标签: ruby-on-rails ruby-on-rails-3 pdfkit