Rails:在Prawn PDF中生成QR代码

时间:2015-09-17 15:03:50

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

我正在尝试生成包含不同QR码的pdf文档,并使用以下宝石

gem 'prawn'
gem 'prawn-qrcode'

问题是,我似乎无法使用以下方法打印出QRcode:

require 'prawn/qrcode'

class QrcodePdf < Prawn::Document
  def initialize (deal)
    super()
    @deal = deal
    title
    @deal.venues.each do |venue|
      text "QR Code for: #{venue.name}"
      qrcode = RQRCode::QRCode.new(@deal.id.to_s + "_" + venue.id.to_s + "_" + @deal.created_at.to_s)
      render_qr_code(qrcode)
    end
  end

  def title
    text "Title of deal: #{@deal.title}", size: 16, style: :bold
  end
end

任何帮助将不胜感激!谢谢!

修改:其他信息

抱歉,我忘了声明pdf实际上正在编译中。但QRCode部分是空白的。 所以它只是在循环中打印QR码的文本。

另外,我在@ deal.id.to_s中打印出字符串......它确实包含了我想要的数据,所以我不确定出了什么问题。

我还在使用部分中对https://github.com/jabbrwcky/prawn-qrcode进行了评审。

1 个答案:

答案 0 :(得分:4)

prawn-qrcode可能存在错误,但render_qr_code无效。至少Ruby 2.2.3(我没有测试过旧版本)。

你仍然可以使用print_qr_code方法,它的功能是:

pdf = Prawn::Document.new(:page_size => "A4") do
  print_qr_code("some-text", extent: 96, stroke: false)
end