【问题标题】:Rails 5 Barby gem does not print webpage with barcode html_outputterRails 5 Barby gem 不打印带有条形码 html_outputter 的网页
【发布时间】:2016-09-16 15:30:41
【问题描述】:

我在使用 Barby gem 时遇到了一些问题。当我尝试打印网页时会发生这种情况。条形码显示在页面上,但如果我尝试打印,则不在打印预览中。我使用的是液体过滤器,所以,在视图中没有直接调用条形码,只有当我使用 {{code |条码}}

require 'barby'
require 'barby/barcode/code_25_interleaved' 
require 'barby/outputter/html_outputter'

module BarcodeFilter
 STYLE = 
   "<style>
     table.barby-barcode { 
       border-spacing: 0;
       border-collapse: collapse;
       width: 600px; 
     }
     tr.barby-row {}
     td.barby-cell { 
      height: 80px;
      padding: 1px;
     }
    td.barby-cell.on { 
      background: #000;
    }
   </style>"

  def barcode(input)
    begin
      barcode = Barby::Code25Interleaved.new(input)
      return STYLE + barcode.to_html
    rescue ArgumentError
      ''
    end
  end

end

Liquid::Template.register_filter(BarcodeFilter)

【问题讨论】:

    标签: barcode ruby-on-rails-5 barcode-printing


    【解决方案1】:

    我知道这真的很晚了,但我有一段时间遇到同样的问题,我不妨分享一下对我有用的方法。 我改用JSBarcode。只需像在 rails 应用程序上安装任何 javascript 文件一样安装它,然后像以下示例中那样调用它:

    根据 "item.reference_number" 的值生成条形码的 Javascript:

    <script>
    $(document).on('turbolinks:load', function() {
      JsBarcode("#barcode", "<%= @item.reference_number %>", {
        format: "CODE128",
      }); 
    })
    </script>

    在此处输出您视图上的条形码:

     &lt;svg id="barcode"&gt;&lt;/svg&gt;

    生成的条形码会在您打印网页时可见。

    【讨论】:

    • 问题已经修复了一段时间。但仍然感谢您的帮助。
    猜你喜欢
    • 2016-08-29
    • 2012-06-13
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多