Понеже предишната тема са освини максимално, то пускам нова такава.
Само да спомена, че за момента Gega ми намери софтуер с отворен сорс, но ми е твърде обемист за да го разучавам. Всъщност ми трябва само спецификация, т. е. текстово описание на това какво представлява точно описания стандарт.
https://www.gs1jp.org/assets/img/pdf/GS1_General_Specifications.pdf - това пуснах, върши ли работа
Засега напълно затънах в тези 500 страници. Никъде не виждам дебелина на линии да ми представят според символи. Например ето тук може да се генерира всякакъв код: https://barcode.tec-it.com/en/GS1DataBarExpanded?data=0 но така и не мога да го разделя на символи, а още по-малко да разбера кои за какво служат и как се генерират...
Ако те интересува точно генерирането на барчетата можеш да разгледаш тук
Не съм го тествал но като гледам кода звучи достоверно, а има генерации в няколко формата
Надраскването на бар кода не ми представлява проблем. Основната трудност е по цифровия код на бар кода да се изчисли масива, задаващ дебелината на линиите.
Е то е ясно кое е трудното ама идеята беше сам да се помъчиш, то накрая ще искаш готов код Виж като отправна точка php-barcode-generator/src/Helpers/BinarySequenceConverter.php
Ами помъчих се и в крайна сметка се оказа, че нито един от предлаганите варианти за баркод не съответства на нужния ми "GS1-DataBar Expanded":
$arrcode = $this->barcode_code39($code, false, true);
$arrcode = $this->barcode_code39($code, true, false);
$arrcode = $this->barcode_code39($code, true, true);
$arrcode = $this->barcode_code93($code);
$arrcode = $this->barcode_s25($code, false);
$arrcode = $this->barcode_s25($code, true);
$arrcode = $this->barcode_i25($code, false);
$arrcode = $this->barcode_i25($code, true);
$arrcode = $this->barcode_c128($code, '');
$arrcode = $this->barcode_c128($code, 'A');
$arrcode = $this->barcode_c128($code, 'B');
$arrcode = $this->barcode_c128($code, 'C');
$arrcode = $this->barcode_eanext($code, 2);
$arrcode = $this->barcode_eanext($code, 5);
$arrcode = $this->barcode_eanupc($code, 8);
$arrcode = $this->barcode_eanupc($code, 13);
$arrcode = $this->barcode_eanupc($code, 12);
$arrcode = $this->barcode_eanupc($code, 6);
$arrcode = $this->barcode_msi($code, false);
$arrcode = $this->barcode_msi($code, true);
$arrcode = $this->barcode_postnet($code, false);
$arrcode = $this->barcode_postnet($code, true);
$arrcode = $this->barcode_rms4cc($code, false);
$arrcode = $this->barcode_rms4cc($code, true);
$arrcode = $this->barcode_imb($code);
$arrcode = $this->barcode_imb_pre($code);
$arrcode = $this->barcode_codabar($code);
$arrcode = $this->barcode_code11($code);
$arrcode = $this->barcode_pharmacode($code);
$arrcode = $this->barcode_pharmacode2t($code);
Чудесно, значи като си разбрал как се генерират баровете и имаш спецификация ще можеш да си адаптираш кода за твоите нужди
Значи за да се помогне по-добре е хубаво да даваш код, точно какъв проблем се среща, както и git хранилище на кода за да може човек да се ориентира
Нямам нужда от адаптиране на чужд код. Мога сам да си напиша програмата за разпечатването на бар кода. Проблемът се състои само в това, че алгоритъмът за определяне на дебелината на линиите за код от вида GS1 DataBar Expanded, който го има някъде в спецификацията (която си дал) не мога да го изровя. Чета съдържанието и пак не разбирам къде да отида, за да открия това, което ми е нужно...