我在使用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)
答案 0 :(得分:0)
我知道这已经很晚了,但我有一段时间遇到同样的问题,我不妨分享一下对我有用的东西。 我转而使用JSBarcode。只需像在rails应用程序上的任何javascript文件一样安装它,然后像下面的示例中那样调用它:
根据“item.reference_number”的值生成条形码的Javascript:
import numpy as np
import matplotlib.pyplot as plt
import codecs
filecp = codecs.open('carstopping.txt', encoding ='utf-16-le')
file_data = np.loadtxt(filecp, usecols=(0,1),skiprows=1)
print(file_data)
x = file_data[:,0]
print(x)
y = file_data[:,1]
print(y)
在此处输出条形码:
<script>
$(document).on('turbolinks:load', function() {
JsBarcode("#barcode", "<%= @item.reference_number %>", {
format: "CODE128",
});
})
</script>
当您打印网页时,将显示生成的条形码。