我已经尝试了许多用于创建 PDF 文档的 gem,其中一些非常好用,没有太多困难。我的任务是在 PDF 文档中创建一个二维码。我在 QR 生成器和 PDF 生成器之间尝试了很多组合。虽然我在将二维码导入 PDF 文档时遇到了很多麻烦。我正在使用rqrcodegem,我喜欢它,因为它从 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参数确实会稍微改变大小,但它实际上是在改变二维码的版本,这不是我想要的。