2015-09-17 64 views
3

我试图生成具有不同QRcodes一个PDF文档,并使用下面的宝石的Rails:在虾PDF生成QR码

gem 'prawn' 
gem 'prawn-qrcode' 

问题是,我似乎无法打印出与QR码以下方法:

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

+0

您应该添加你做了什么错误。发布说明“这不起作用”的代码对我们试图帮助您没有帮助。 – Deekor

+0

Hi @Deekor,对不起,我对问题进行了必要的更改 – user5296896

+0

如何将QR码放在表格中? –

回答

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 
+1

啊我明白了。难怪它不起作用。您的解决方案完美运作感谢您的帮助,非常感谢! – user5296896