2010-08-02 227 views
0

我正在尝试创建生成PDF417条形码的应用程序。要做到这一点,我遵循本指南:http://grandzebu.net/informatique/codbar-en/pdf417.htm生成PDF417条形码:错误更正码字不正确

我正在生成数据代码字就好了,但是当我使用算法来生成错误更正结果似乎没有工作正常,我认为问题是我传递给它的数据。

基本的测试我想是生成PDF417码与数据:你好世界

我使用的字节模式编码。

生成的条形码有3行5列数据。

我用于生成校正码字的数据的码字是这些:

[901,121,291,257,858,232,119,111,114,108,100]

当我使用付费库生成具有相同数据的条形码,纠正码字(使用纠错级别为0)是:[821,305]

但是当我使用我的算法生成条形码时,纠正我得到的代码字是[791,594]。

我也试过使用这里找到的算法:http://sourceforge.net/projects/pdf417lib/,结果和我的算法一样。

有什么想法,我做错了什么?

非常感谢您的时间。

+0

你可以发布你的代码吗? – 2010-08-20 14:19:32

回答

1

您需要共15个字,共5列3行。由于您使用的纠错级别为零,因此需要2个纠错字。这会给你留下13个数据字(包括填充字)。因此,你需要以计算误差校正字的数据字如下:

13,901,121,291,257,858,232,119,111,114,108,100,900

其中13表示的,你产生的数据字的数目(它是11)加上900的一个填充字加长度指示器(即13)本身。

如果你的算法是正确的,那么使用上面的数据字和27和917作为错误校正系数,你应该得到305和821作为错误校正字。我的算法是这样计算的