Ruby 将PDF417码字/二进制数组转换为ID自动条码字体代码

Ruby 将PDF417码字/二进制数组转换为ID自动条码字体代码,ruby,barcode,barcode-printing,pdf417,rsbarcodes,Ruby,Barcode,Barcode Printing,Pdf417,Rsbarcodes,我正在开发一个rails应用程序,它需要通过API将一段编码为PDF417的HL7数据作为JSON发送。然后,条形码编码的接收者将数据插入带有PDF417自动条形码字体的word文档中 我遇到的问题是提供字体喜欢的编码 我使用了几种编码器Barby,它们通过文本压缩、二进制压缩等方式生成整数码字数组,但所有这些都与IDAutomation字体所期望的不同。使用他们的编码器,它创建了一个11行的数字列表,每行324个字符 我似乎遗漏了一条关键信息,但很难找到解释。我找到了一条关于获取正确的错误更正

我正在开发一个rails应用程序,它需要通过API将一段编码为PDF417的HL7数据作为JSON发送。然后,条形码编码的接收者将数据插入带有PDF417自动条形码字体的word文档中

我遇到的问题是提供字体喜欢的编码

我使用了几种编码器Barby,它们通过文本压缩、二进制压缩等方式生成整数码字数组,但所有这些都与IDAutomation字体所期望的不同。使用他们的编码器,它创建了一个11行的数字列表,每行324个字符

我似乎遗漏了一条关键信息,但很难找到解释。我找到了一条关于获取正确的错误更正、行计数和列计数值的线索,但ID Automation字体所需的内容与这些ruby条形码编码器产生的内容之间似乎仍然存在很大的差异。二进制数组或码字数组

例如,Barby: 二进制:

其他pdf417文本操作代码字:

tc.compact_text
=> [7, 28, 25, 21, 29, 1, 8, 14, 8, 16, 28, 0, 1, 17, 0, 0, 25, 21, 29, 28, 2, 0, 1, 9, 1, 2, 1, 6, 25, 21, 29, 4, 28, 25, 21, 29, 28, 24, 24, 25, 21, 21, 11, 15, 29, 15, 28, 25, 21, 29, 25, 28, 0, 0, 0, 5, 5, 5, 9, 8, 0, 25, 21, 21, 21, 21, 21, 21, 21, 29, 23, 19, 25, 23, 22, 23, 9, 1, 28, 25, 21, 29, 27, 20, 18, 4, 17, 6, 28, 24, 27, 20, 18, 4, 17, 6, 28, 24, 25, 21, 29, 28, 1, 9, 6, 8, 1, 1, 2, 2, 25, 21, 29, 12, 28, 25, 21, 21, 29, 28, 1, 2, 3, 4, 28, 26, 5, 8, 18, 7, 26, 7, 0, 19, 2, 7, 4, 17, 24, 26, 17, 3, 28, 25, 21, 29, 6, 0, 18, 19, 14, 13, 28, 25, 21, 29, 18, 2, 28, 25, 21, 29, 28, 2, 9, 0, 5, 3, 25, 21, 29, 28, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 25, 21, 29, 28, 0, 3, 25, 21, 21, 29, 28, 24, 24, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 28, 24, 24, 25, 21, 21, 21, 21, 21, 21, 21, 29, 28, 24, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 28, 24, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 28, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 21, 29, 28, 24, 24, 24, 24, 24, 24, 24, 25, 21, 21, 29, 23, 19, 25, 23, 22, 23, 9, 1, 28, 25, 21, 29, 23, 19, 25, 23, 22, 23, 9, 1, 28, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 21, 21, 21, 29, 28, 24, 25, 21, 21, 21, 21, 21, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 24, 24, 25, 21, 21, 21, 29, 28, 24, 25, 21, 21, 11, 15, 29, 2, 28, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 28, 24, 25, 21, 21, 21, 29, 4, 17, 4, 16, 28, 25, 21, 29, 1, 8, 14, 8, 28, 25, 21, 21, 21, 21, 11, 15, 29, 0, 28, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 25, 21, 29, 28, 24, 25, 21, 21, 21, 21, 21, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 24, 24, 24, 25, 21, 21, 21, 11, 15, 29, 12, 28, 25, 21, 21, 21, 21, 21, 21, 11, 15, 29, 1, 28, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 11, 15, 29, 10, 28, 25, 21, 29, 28, 24, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 28, 24, 24, 24, 24, 25, 21, 21, 21, 21, 21, 21, 11, 15, 29, 8, 28, 25, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 29, 28, 24, 24, 25, 21, 11, 15, 29, 19, 28, 25, 21, 29, 28, 1, 8, 2, 9, 4, 9, 25, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 11, 15, 29, 18, 28, 25, 21, 29, 28, 24, 24, 24, 24, 24, 24, 25, 21, 11, 15, 29, 3, 28, 25, 21, 21, 21, 11, 15, 29, 11, 28, 25, 21, 29, 28, 0, 0, 5, 0, 2, 25, 21, 11, 15, 29, 4, 28, 25, 21, 29, 28, 0, 25, 21]
ID自动编码:

777777770707070007737352123166300076631353225166610734303675155600007111427613176322077740145751563460750112671207373307462673170014623076600377166364430764227111623264707206231512236203072202551566304630740621733221460107662617154430221076311157202731250704117660656332207440533422766013077771707415447400777777707000707007
777777770707070007574363351354550072313512245101460770433551033675207467512777271774076462315526366430725123004422375207723531663457220072657406674037100764401175263464107243110276220673074026137726740230702267312642323507651004714437752072652177441755110762661351203600107735245473154564077161273111541300777777707000707007
777777770707070007373074471114744075005377074633220750053770746332207500537707463322077205157054631200750013770306332607440537217563333074000377120722270740003771207222707004473356432623074000377120722270740003771207222707620037712272007076022355122722070760223551227220707602235512272207077372124135523000777777707000707007
777777770707070007735210263753230070266713744326230720445317663062107226653356410601070044733564326230722445335663040307026671374432623072044531766306210762220671214131407005573246432632070045732575237330700557324643263207000573217523337074451376424326720744017761712733307445177642432272077170122611550300777777707000707007
777777770707070007372030142315331074440377524326630744403775243266307664037752632443072026715566326470760223551227220707620215512270027074022177322502050762221751007022507400017532270205074000377120722270700447335643262307400037712072227070044733564326230700446235652373207400037712072227073702101621311510777777707000707007
777777770707070007772070551355651076000157122700250740003771207222707000077356472667074404773164326630744403771207266707440037716436663074400733160326670740442275612777207445137642432672074441376535237730744403775243266307445137642432672075441773434673220750017330346376607104177303067322071340563333154330777777707000707007
777777770707070007631611404621131077463355436237420774633554362374207302771547623746073027711076233060730277154762374607306771147623702073265711456015020752233750124332407700315503261106075203377210433040730277514766334607702335507627702073027751476633460730673554366330207742375143267302076334314004611310777777707000707007
777777770707070007336314652757330077473254426337520765337055626774607302765157772346072077355437723120760663111623224307642264516327312072215530044122160766411565152357107665137642632452076463354537237530764733544263265207646335453723753076473354426326520764633545372375307647335442632652077325124741155740777777707000707007
777777770707070007552072225115741073207717674017440730277110762330607302771547623746073027711076233060730277154762374607302771107623306077463355436237420774637514366730207702371103663746073063751032673020730237514722730207702335503263306073023351076233460774277114322374207306331547267702077502522271137450777777707000707007
777777770707070007277204655201577075441277535327620757633757141076207664015750432461076651157405324610767412665373244207656324553722642076642155526304630754620777361065107767317550530760077440057536324730744412664342377307555166343576322074011732124726660703637700035733107502313723601740076770460134075510777777707000707007
777777770707070007314201277155021072011772126623420722317500374027107301055313762162071323651317622500732235731246104107203377022672252073133562334511610712317733275225007111174323750071071112472337502610712307722355315007222275223561153073220461216511510712276334651335507237435772313773077126032375134450777777707000707007

提前谢谢

ID自动化字体只会喜欢它自己的专有编码方案,它似乎使用了类似于八进制的东西,而不是Barby二进制或tc十进制。这三种方案都创建了不同的PDF417条形码,其行数和列数不同

您遇到的是数字化和渲染之间的阶段性差距。数字化阶段负责将数据转换为使用代码128、PDF417等的特定符号所需的点和空间。渲染阶段用于获取1和0,并将其转换为墨水或点亮像素

您不能混合使用这两个阶段,因为第一阶段以第二阶段需要的格式创建编码

我尝试将ID自动编码从我假设的八进制转换为二进制。它没有扫描。Barby二进制编码像冠军一样扫描

//麻省理工学院执照 //版权c 2020,意念沃思有限责任公司。 var array5bit_A=新数组“f//aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”,“f//aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”,“f//aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad/”,“f///aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,“f//aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqd/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,“QD/AAD/AAAAAAAA”、“QD/AAAAA/WAAAAAA”、“QD/AAAAA/WAAAAAB”、“SL/AAAAAAAA/GAAAAAA+”、“QD/AAAAA/WAAAAAAAAA”、“QD/AAAAAAAA P8AAAAA”、“QD/AAAAA P8AAAB”、“QD/AAAAA/”、“QD/AAAAAAAA/”、“QD/AAAAAAAA”; var array5bit\u B=新阵列“US0CAUD38G”、“UUYCA7QBErs”、“ajEDAm49ReY”、“UUoCA+juogg”、“bjEDAjQrOn0”、“bkoDA3iPVH4”、“ajUDAt82atY”、“UU4CA1nljTg”、“cjEDAghkmFU”、“ckoDA0TA9lY”、“izUEAhrxcbg”、“ck4DAxY8F10”、“BJUDALVFR8”、“BK4DAXDHEW”、“ajkDAr7LFAw”、“UVICAyQ+UJI”、“TTECAAQ7UNEM”、“TUoCA+JW8KKKKKKKKKKKKZG”、“T8K”、“T4CA4CA4CA7ZZZZG”,‘ak4DA7VAmk0’、‘ZjkDAtle3bI’、‘TVICAxOyzrM’、‘STUCAqHeHtM’、‘SU4CA+16cNA’、‘h6QEAZKdo54’、‘SVICA62zYxM’、‘RTkCAqx1lb4’、‘RVICA/z3WM0’、‘QT0CAkdoxRU’、‘KFYBA46vJCA’; var stringStart='0表示var i=0;i<5-血管内死亡;i++输入字符串+=0; var arraySeq=new Array intChunks=inputString.length/5; 对于var i=0;我喜欢大块;i++arraySeq[i]=parseIntinputString.substri*5,5,2; var resultString=; 对于var i=0;i'; 返回结果字符串; } var buttonBarcode=document.getElementByIdbtnGenBar; buttonBarcode.onclick=函数{ strResult=; fltWidth=document.getElementByIdtextWidth.value; fltHeight=document.getElementByIdtextHeight.value; 对于var loop=0;loop

ID自动化:

777777770707070007737352123166300076631353225166610734303675155600007111427613176322077740145751563460750112671207373307462673170014623076600377166364430764227111623264707206231512236203072202551566304630740621733221460107662617154430221076311157202731250704117660656332207440533422766013077771707415447400777777707000707007
777777770707070007574363351354550072313512245101460770433551033675207467512777271774076462315526366430725123004422375207723531663457220072657406674037100764401175263464107243110276220673074026137726740230702267312642323507651004714437752072652177441755110762661351203600107735245473154564077161273111541300777777707000707007
777777770707070007373074471114744075005377074633220750053770746332207500537707463322077205157054631200750013770306332607440537217563333074000377120722270740003771207222707004473356432623074000377120722270740003771207222707620037712272007076022355122722070760223551227220707602235512272207077372124135523000777777707000707007
777777770707070007735210263753230070266713744326230720445317663062107226653356410601070044733564326230722445335663040307026671374432623072044531766306210762220671214131407005573246432632070045732575237330700557324643263207000573217523337074451376424326720744017761712733307445177642432272077170122611550300777777707000707007
777777770707070007372030142315331074440377524326630744403775243266307664037752632443072026715566326470760223551227220707620215512270027074022177322502050762221751007022507400017532270205074000377120722270700447335643262307400037712072227070044733564326230700446235652373207400037712072227073702101621311510777777707000707007
777777770707070007772070551355651076000157122700250740003771207222707000077356472667074404773164326630744403771207266707440037716436663074400733160326670740442275612777207445137642432672074441376535237730744403775243266307445137642432672075441773434673220750017330346376607104177303067322071340563333154330777777707000707007
777777770707070007631611404621131077463355436237420774633554362374207302771547623746073027711076233060730277154762374607306771147623702073265711456015020752233750124332407700315503261106075203377210433040730277514766334607702335507627702073027751476633460730673554366330207742375143267302076334314004611310777777707000707007
777777770707070007336314652757330077473254426337520765337055626774607302765157772346072077355437723120760663111623224307642264516327312072215530044122160766411565152357107665137642632452076463354537237530764733544263265207646335453723753076473354426326520764633545372375307647335442632652077325124741155740777777707000707007
777777770707070007552072225115741073207717674017440730277110762330607302771547623746073027711076233060730277154762374607302771107623306077463355436237420774637514366730207702371103663746073063751032673020730237514722730207702335503263306073023351076233460774277114322374207306331547267702077502522271137450777777707000707007
777777770707070007277204655201577075441277535327620757633757141076207664015750432461076651157405324610767412665373244207656324553722642076642155526304630754620777361065107767317550530760077440057536324730744412664342377307555166343576322074011732124726660703637700035733107502313723601740076770460134075510777777707000707007
777777770707070007314201277155021072011772126623420722317500374027107301055313762162071323651317622500732235731246104107203377022672252073133562334511610712317733275225007111174323750071071112472337502610712307722355315007222275223561153073220461216511510712276334651335507237435772313773077126032375134450777777707000707007