将FNC1字符添加到使用tcpdf数据矩阵创建的代码中


Add a FNC1 character to code created with tcpdf datamatrix

我使用tcpdf生成数据矩阵条形码。效果很好。现在我被问到是否可以在代码中添加fnc1字符。但是我不知道fnc1字符的表示对于tcpdf生成器来说是正确的。我在这里发现了这个http://sourceforge.net/p/tcpdf/discussion/435311/thread/161b1b1a

但是我想了解使用chr(241)的答案实际上来自哪里。对我来说,它就像是从天上掉下来的。文档中没有提到它,我也没有在其他任何地方发现chr(241)将是fnc1字符的表示。

除此之外,它对我不起作用,扫描条形码只会导致代码中间的ñ字符。

谁知道我如何能得到fnc1字符到我的tcpdf数据矩阵?我错过了什么?提前感谢您的帮助!

$string = chr(241).str_replace(";", chr(241), $string);
$barcodeobj = new TCPDF2DBarcode();
$barcodeobj->setBarcode($string, 'DATAMATRIX');
$barcodeobj->getBarcodeSVGcode(6, 6, 'black');

查看/tcpdf/include/barcodes/datamatrix.php版本1.0.008(从2014-05-06开始)的代码,我看不到数据矩阵中特殊函数或宏字符的任何综合处理,因此您可能不走运。

也就是说,你链接的论坛回复是由TCPDF的作者(Nicola Asuni)写的,所以我们可能值得联系他,看看他当时是怎么想的。我的猜测是,其他库使用的一个示例输入误导了他,使他相信FNC1可以表示为普通的代码点,但这是错误的,因为FNC1是一个需要特殊处理的非数据字符。