我正在尝试研究如何在我的Zend条形码中包含一个FNC3控制字符。
例如,此条形码包含FNC3字符,然后是0B
将其与不包含此字符的条形码进行比较。
我无法弄清楚如何(1)更改128型条形码的字符集。 (2)在类型128条形码中包含控制字符(FNC1-4)。
我已尝试将各种组合(如下所示)传递到options数组的'text'参数中。 http://framework.zend.com/manual/en/zend.barcode.objects.html
这可能吗?如何通过FNC3角色。这是文字字符串'FNC3'还是我错过了什么。
编辑:
我尝试在文本字符串中使用ü/Ç字符,但PHP每次都会跳起来。
答案 0 :(得分:2)
似乎无法在当前版本的\ Zend \ Barcode \ Object \ Code128中包含FNC3字符。我会复制Code128.php,将'FNC3'替换为charcode大于128的字符,例如chr(228)
(根据http://www.barcoderesource.com/code128_barcode_map.html,它是条码字体中字符的ASCII码):
protected $charSets = array(
'A' => array(
/*...*/
chr(228), 'FNC2', 'SHIFT', 'Code C', 'Code B', 'FNC4', 'FNC1',
/*...*/
'B' => array(
/*...*/
chr(228), 'FNC2', 'SHIFT', 'Code C', 'FNC4', 'Code A', 'FNC1',
然后在字符串中使用chr(228)(例如chr(228).'0B'
)。最后,您可以使用composer的加载器覆盖原始类,或者创建一个模块以标准方式执行。