使用prawn-qrcode gem通过prawn在PDF中呈现QR码

时间:2013-06-14 03:18:50

标签: ruby-on-rails pdf pdf-generation qr-code prawn

编程更新,这是我的第二个问题。 prawn-qrcode看起来像我的解决方案,但安装说明有点模糊,代码应该去哪里。感谢这里的帮助,我的代码可能会有一些错误。

**Gem File**

gem 'devise'
gem 'linkedin'
gem 'omniauth'
gem 'omniauth-linkedin'
gem 'haml'
gem 'carrierwave'
gem 'rmagick'
gem 'rqrcode', "~> 0.4.2"
gem 'prawn-qrcode', "~> 0.2.0"
gem 'will_paginate', '> 3.0'
gem 'ransack'
gem 'omniauth-google-oauth2'
gem 'prawn'
gem 'hirb'

Relevant section of the controller 

def show
@property = Property.find(params[:id])
@qr = RQRCode::QRCode.new(property_path, :size => 6, :level => :h )
@prospect = Prospect.new

respond_to do |format|
     format.html # show.html.erb
     format.json { render json: @property }
     format.pdf do
           pdf = PropertyPdf.new(@property)
           send_data pdf.render, type: "application/pdf",
                                 disposition: "inline"
     end
end
end

Prawn PDF View

class PropertyPdf < Prawn::Document

def initialize(property)
    super(top_margin: 70)
    @property = property
    @qrcode_content = 'http://tbd.com'
    qrcode
    building_heading

end

def qrcode
 print_qr_code(@qrcode_content, :dot=>2.8)
end

由于

1 个答案:

答案 0 :(得分:1)

您唯一需要做的是:

require 'prawn/qrcode'

它会自动注册为Prawn的扩展名,您可以在PDF生成中使用。

github项目中的示例也应涵盖大多数用例:

https://github.com/jabbrwcky/prawn-qrcode/tree/master/examples

干杯, 延