我已经尝试了许多用于创建 PDF 文档的 gem,其中一些非常好用,没有太多困难。我的任务是在 PDF 文档中创建一个二维码。我在 QR 生成器和 PDF 生成器之间尝试了很多组合。虽然我在将二维码导入 PDF 文档时遇到了很多麻烦。我正在使用rqrcode
gem,我喜欢它,因为它从 CSS 生成二维码,而不是图像。
我尝试过使用专门为使用 Prawn 生成 QR 码而构建的 gem,但是我不断收到一条消息,说它无法识别该modules
方法。我得到的最接近的是在我的html
文档中使用类似的结构。但这只是在没有表格的情况下使用它,这是没有用的,因为 gem 通过输出表格和 CSS 来工作。
我知道这很模糊,但是由于可能的解决方案和我尝试过的不同尝试的数量,我不确定我应该提供哪些其他信息。
有任何想法吗?rqrcode
有没有其他人设法使用 Prawn 中的表格创建带有 gem 的 QR 码?
表格在视图中的外观(HTML,不是 PDF):
<table class="qr">
<% qr.modules.each_index do |x| -%>
<tr>
<% qr.modules.each_index do |y| -%>
<% if qr.dark?(x,y) -%>
<td class="black"/>
<% else -%>
<td class="white"/>
<% end -%>
<% end -%>
</tr>
<% end -%>
</table>
我最接近的没有它打破.prawn.pdf file
(当我尝试添加一个表格时它打破了)。并且只是测试是否有效*
,当我尝试将其更改为单元格背景时它会中断。!
modules method
@qr.modules.each_index do |x|
@qr.modules.each_index do |y|
if @qr.dark?(x,y)
pdf.text "!"
else
pdf.text "*"
end
end
end
宝石文件
gem 'prawn'
gem 'prawn-qrcode'
gem "rqrcode", "~> 0.4.2"
更新
我找到了一些有用的代码,尽管现在我遇到的问题是 QR 码的实际大小。我希望能够把二维码做得很大。令人惊讶的是,新代码中的参数实际上并没有改变大小。实际二维码中的size
参数确实会稍微改变大小,但它实际上是在改变二维码的版本,这不是我想要的。