使用 13 位数字使用 TCPDF 生成 PDF417 时出错


Error generating PDF417 with TCPDF using 13 digits

好吧,我有一个非常奇怪的问题,使用TCPDF(TCPDF-Website(使用PHP生成2D条形码(PDF417(。这是我的小代码:

<?php
require_once ("tcpdf/tcpdf_barcodes_2d.php");
$type = "PDF417";
$code="123456789012";
$barcodeobj = new TCPDF2DBarcode($code, $type);
$barcodeobj->getBarcodePNG();
?>

此代码运行良好并生成条形码。但是当我用代码更改行时

$code="1234567890123";

它不会生成任何输出。我尝试了几个字符串,发现每次我尝试使用一个超过 12 位数字的字符串时,我没有得到任何输出。它不取决于数字的位置。

例如:

$code="abcdefghijklmnopqrstuvwxyz123456789012abcdefghijklmnopqrstuvwxyz";

工作芬德,但

$code="abcdefghijklmnopqrstuvwxyz1234567890123abcdefghijklmnopqrstuvwxyz";

失败。

我使用 tcpdf 6.0.037,也尝试从其他来源下载它。我什至尝试了版本 6.0.020 - 没有变化。服务器是开放的SuSE 12.2 64位,PHP 5.3.15

编辑:这真的很奇怪:我尝试了其他条形码生成器 - 我得到了同样的错误。这个提供了一个在线演示。当我在线填写1234567890123时,我得到了适当的条形码。但是在我自己的服务器上,相同的字符串不起作用。

"123456-7890123" works
"1234567890123" does not work
"123456789012" works
"12e34567890123" works
"123456789012sometext123456789012" works
"123456789012sometext1234567890123" does not work

每个字符串在一行中超过 12 个数字都不起作用 - 无论字符串有多长。

你明白我说的"奇怪"是什么意思吗?

任何帮助将不胜感激。

我也有这个问题。我们使用PDF417和QR码条形码。我还没有找到一个很好的解决方案,但我找到了一个目前有效的解决方案。如果有人有更好的解决方案,请告知。

问题:在我们的条形码中,我们存储了电话号码,有时它们是 13 位或更长的数字。13位电话号码导致条形码无法正确打印。

溶液:由于条形码不会打印,因此我们只需每 10 位数字添加一个空格,这样可以保持条形码完好无损,我们的软件可以在没有空格的情况下读取电话号码,所以我们应该 A-OK!

电话号码示例:
123456789012345(15 位数字(

在电话号码上运行的PHP代码:
$phone = chunk_split($phone, 10, ' '(;

拆分后的电话号码示例:
1234567890 12345

这些条形码的库(Google/TCPDF(不喜欢超过12的数字,所以这绝对很奇怪,但也许我错过了一些容易看到的东西。

谢谢,希望这对某人有所帮助。