2010-08-02 228 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作爲錯誤校正字。我的算法是這樣計算的