2013-07-04 9 views
2

나는 EPL을 사용하여 Zebra 프린터에서 바코드를 직접 인쇄합니다 (LP 2844가 더 구체적 임). 문제는 바코드의 물리적 길이를 제어 할 수 없다는 것입니다.EPL - Control 128 바코드 길이

예를 들어 좁은 막대 폭, 넓은 막대 폭 및 내용의 길이가 동일하게 설정되어 있어도이 두 줄의 코드는 길이가 다른 두 개의 바코드를 인쇄합니다.

B134,308,0,1,4,12,160,B,"00G38EX" 
B136,540,0,1,4,12,160,B,"0086150" 

여기 입력 내용이 중요한 것은 알고 있지만 어떻게 작동하는지 알 수는 없습니다. 바코드의 길이를 고정 시키거나 적어도 조절할 수있는 길이를 설정할 수있는 방법이 있습니까? 즉, 알려진 입력 내용이 주어지면 물리적 길이가 얼마나 될지 예상됩니다.

답변

3

정확합니다. 데이터에 민감합니다.

코드 128에는 3 개의 하위 알파벳이 있습니다. "A"는 모든 ASCII 제어 코드, 숫자, 많은 기호 및 대문자 (00H..5FH)를 포함합니다. 세트 "B"는 'printables'(기호, 숫자, 대소 문자 - 20H..7FH)를 포함합니다. 코드 "C"는 숫자 쌍 (00..99)을 포함합니다.

시작 코드는 사용할 알파벳을 선택하고 START-A, START-B 또는 START-C를 적절하게 삽입하여 설정 사용을 전환 할 수 있습니다.

슬프게도, 펌웨어는 (문서에 따라) 코드를 강제로 허용하지 않으며, 가능한 가장 짧은 바코드는 인쇄 할 문자열을 분석하여 인쇄됩니다.

귀하의 경우 코드는 이어야합니다. START-A/0/0/G/3/8/E/X/STOP = 7 데이터 요소 START-C/00/86/15/START -A/0/STOP = 5 데이터 요소

코드는 첫 번째 문자보다 길지도 않고 7 문자 데이터의 두 번째 문자보다 짧지도 않습니다 (제어 문자의 가능성에 ...)

선택할 수있는 인쇄 순서는 인쇄 할 개별 순서에 따라 다릅니다. 나는 그것이 효과가있을 것이라고 확신한다 - 두 자릿수의 순서는 1 여분의 요소를 소비 하나 1을 절약한다. 4 자리 숫자의 비용은 1이지만 2가 저장됩니다. 시퀀스가 ​​문자열의 한쪽 끝에 있거나 다른쪽에있는 경우입니다.

가장 긴 가능한 (all-alphas) ​​프로그램을 만들고 압축을 보너스로 허용하는 것이 가장 좋습니다.