Я работаю над приложением rails, которому необходимо отправить часть данных HL7, закодированных в формате PDF417 как JSON через API. Получатель кодировки штрих-кода затем вставит данные в текстовый документ со шрифтом штрих-кода PDF417 IDAutomation.
Проблема, с которой я сталкиваюсь, заключается в предоставлении кодировки, которая нравится шрифту.
Я использовал несколько кодеров, Barby, https://github.com/asee/pdf417, https://github.com/asee/pdf417, которые производят массивы целых чисел (кодовых слов) посредством сжатия текста, двоичного сжатия, et c, но все они отличаются от того, что ожидает шрифт IDAutomation. Используя их кодировщики, он создает список из 11 рядов чисел по 324 символа в каждой.
Мне кажется, что здесь не хватает ключевой информации, но мне сложно найти объяснение. Я нашел ключ к получению правильного исправления ошибок, количества строк и значений столбцов, но все равно кажется, что это большой разрыв между тем, что хочет шрифт ID Automation, и этими кодировщиками ruby. (Массив двоичных или массив кодовых слов)
Например, с Barby: Binary:
=> ["11111111010101000111010110111100001100100000100110011101100100011000111000110110111001110010001000111010010001000010000100001101110011001101001000001100011101010111000000110000110001000101010011101110000010101000001000000111111101000101001", "11111111010101000111111010110111101110101110000011011110101110011100110101110000100001000011101011111011100000100011010100001110101111101011111010000111011100011001110100111100010000010101111101100100010011110101101100000111111101000101001", "11111111010101000110101000011111001100011111010001010000111100100010100000110010011101101010111110000010101000111100000111100101111010001101100001001111011111010111001000100011101100011101000111011000111010101100111110000111111101000101001", "11111111010101000101001000010000001000010011101110011110011101001100111101111010001001100011000010010010001100110010000101100111000110001100001100010001011000011011001100100010000110001101101110011000100011101001001110000111111101000101001", "11111111010101000110101111001100001011111010000111011000001001110010100010011111011001110011011101000010111110100001110100001110101111101110101110000011011110100000101000111010111001100001010111111011100011110101111011110111111101000101001", "11111111010101000111010111110010001000011110010001010001111000010100100001111001000101000011110010001010111111011100010101001100111110001111110010110001010111111011110110110110001011110001011001101111000011010111111001000111111101000101001", "11111111010101000111101000101111001011011101100000011001100001100110101101110011000001011100111000100011101111000110010110100001100011101000110110001000010101100011000000111001100000101101110011011101111010100111100111100111111101000101001", "11111111010101000111110100100001101011100010011111011101001100000010110011000011110101111010010010000011110101000100000101001111110111001100110001111010010100011110000100101000111100001001010001111000010011111010010001100111111101000101001", "11111111010101000111111010011101101111001011110100011011010000011110100001101000111001111101000011101011001111010011000100011101110111101101111100010001010001110110001110100011101100011101000111011000111011111010011110110111111101000101001", "11111111010101000101000010010000001000010011101110011110011101001100100000100010001001100111001110011010000100111011100100001001110111001000010011101110011110011101001100100000100010001001110001100001011010100011110111100111111101000101001", "11111111010101000101001111001000001111000100000101011110001000001010111100010000010101111000100000101010001111001011110111000110011101001111000100000101011110001000001010111100010000010101111000100000101011010011110110000111111101000101001", "11111111010101000101000110011111001100111101001100010000001101011100110111110001001001101111100010010011011111000100100110111110001001001101111100010010011011111000100100100111100001001001000111011101111011110100011110010111111101000101001", "11111111010101000110100000100001101001110011100100010011100111001000100111001110010001100001100010001011000011000100010100001100110010001000010100010000011110011100101100100001000110001101101001100001110011101000001001110111111101000101001", "11111111010101000111010001100010001111011100011101011011101111100100110001101111010001111000010010010011010111110011100101111011011111001111000100000101011110001000001010111100010000010101111000100000101011101000110010000111111101000101001", "11111111010101000100101011110000001000111011000111010001110110001110110011110100110001000000110101110010011110000100100100011101110111101001111000010010010001110111011110100111100001001001000111011101111010010100011110000111111101000101001", "11111111010101000100101100001100001100111001110011010000100111011100100001001110111001100001100011011011001110011100110100001001110111001000010011101110010000100111011100110000110001101101001110011100100011001011001110000111111101000101001", "11111111010101000111110100001001101000011101011111011100001000110100111000010001101001011110110111110011110001000001010100011110010111101110001100111010011110001000001010111110110010001001011111001000111011111010000101100111111101000101001", "11111111010101000111001011111010001000000110100111010001110110001110100011101100011101000111011000111010001110110001110100011101100011101000111011000111010001110110001110100011101100011101000111011000111011001011111100100111111101000101001", "11111111010101000110110110110000001111001110100110010000010001000100111000110000101101000010011101110010000110011100110111011100110011001111001100010111011100011011011100111001000100011101011001110011000011101101000001100111111101000101001", "11111111010101000111010000011000101011110110111110011110001000001010100110001111101001100010111000010011110101110111000101111011011111001111000100000101011110001000001010111100010000010101111000100000101011110100000110110111111101000101001", "11111111010101000110010010001111101000111011000111010001110110001110100011101100011101000111011000111010001110110001110100011101100011101100011111001010011011111000100100100001111001000101001111000010010011111100100110100111111101000101001", "11111111010101000100100111001110001000110111100111011100011000010110100001001110111001000010011101110011110011101001100100000100010001001000110001100001010001101111001110100111001110010001001110011100100010110111000011000111111101000101001", "11111111010101000111001011001000001011110110111110011110001000001010111110110010001001000000101111010010011110010111100111100010000010101111000100000101011110001000001010111110110010001001011111001001110011110010110110000111111101000101001", "11111111010101000111011011111100101000000110100111010001110110001110100011101100011101000111011000111010001110110001110100011101100011101000111011000111010001110110001110100011101100011101000111011000111010110010011100000111111101000101001", "11111111010101000111011001100111001000010011101110010000100100000010101110111000010001101100001000010011100111010010000110011100111001101000010011101110010000100111011100100001001110111001000010011101110011001000100110000111111101000101001", "11111111010101000110010111100001101111000100000101011110001000001010111100010000010101101110001111101010111110100001110111000010001101001110001100111010011110001000001010111100010000010101111000100000101011001011110001100111111101000101001", "11111111010101000101100111001111101111100010011101010000011100101100100001111001000101000000110101110010011110000100100100011101110111101001111000010010010001110111011110100111100001001001000111011101111011101100111111010111111101000101001", "11111111010101000111011000101100001000110001100001010001101111001110100011000110000101000110111100111010001100011000010100011011110011101000110001100001010001101111001110110011100111001101000010010000001010010001110001110111111101000101001", "11111111010101000111101101100010001100010111000010011000100011110110110011000011110101101011100000100011110100100100000111101000100000101011110110111110011110001000001010111100010000010101111000100000101011111011011001100111111101000101001", "11111111010101000101100001000111001000111011000111010001110110001110100011101100011101000111011000111010001110110001110100011101100011101000111011000111010001110110001110100011101100011101000111011000111010110000010111000111111101000101001", "11111111010101000100100001100110001000010011101110010000100111011100100001001110111001000010011101110010000100111011100100001001110111001000010010000001010111011100001000110001000001001101110011101001000010110001100000100111111101000101001", "11111111010101000110110111100001001110000100011010011100001000110100111000010001101001011110110111110011111011001000100100111100010111101001111001011110011110001000001010100110001111101001100010111000010011011011110001000111111101000101001", "11111111010101000100010111011111101101110100011100010011110100100000110101011111000001111110010111011011010011111100010100011101000110001000010010111100011111001011101000100111101001000001010111000111111011000101111110100111111101000101001", "11111111010101000100100000100000101111001110100110010000110001100100100001100011001001000011000110010010000110001100100100001100011001001110111100110001011100010001001110100001000010100001011000011101100011001000001000110111111101000101001", "11111111010101000111110110010001001111010010001000011100010111000110101000111100010001001111101000111010111101001111000111000101100001001111000001010100011100010001100010111100010001001001110001101110010011111101100100110111111101000101001", "11111111010101000111111000100110101101001100111111010100000100011110101111011101110001010000100001111010001111000101000101001110111111001000111010110000011100010011111010110111110001010001011000011011110011111000100111010111111101000101001", "11111111010101000111000101100111101000011011000001011011011001100000101000001010000001110100111011111010011011110111000100001100111001101000101110111000011110011110100010100011100111000101110101101111000011000101101110000111111101000101001", "11111111010101000110110011110001001011111101001100011111000011010010111001110111100101101000011110110010110111111011000110000101110010001100110011110001010010011110000100111101000110110001111010111000111011011001111001000111111101000101001", "11111111010101000101110110111000001100111000101110011010011011111100111111010110001001000010011011111011101001011111100111001001011111101100110010111100011111010000111010101000000101111001100111110001001010111011000111000111111101000101001", "11111111010101000111000100100111001000101110001110010111011110110000101000010001000001100110011100111011101110010100000111000110110111001100001101101100010011011100001100100011000110010001111011110110110011100010010111000111111101000101001"]
Другие кодовые слова текстовой кампании 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
Заранее спасибо!