문제

우선, 나는 바코드 형식을 처음 접했고 내가 아는 것, 나는 Wikipedia에서 배웠습니다.

Barcode.4net 라이브러리를 사용하는 기존 앱에서 생성 된 바코드가 있습니다. 바코드는 코드 128A 형식입니다. 그것들을 생성하기위한 코드는 매우 간단하며 다음과 같은 것을 보게됩니다.

// Create the barcode
Code128ABarcode c128A = new Code128ABarcode("045746201627080857");

다른 매개 변수가 설정되지 않습니다. 데이터를 설정 한 후 라이브러리에서 바코드의 GIF 버전을 다시 얻습니다.

PDF 생성에 ItexTsharp를 사용하는 새로운 앱을 작업하고 있으며 두 라이브러리를 사용하는 대신 Code128 바코드를 지원하므로 ITExtSharp의 바코드 생성 라이브러리를 사용한다고 생각했습니다. 코드 128의 몇 가지 변형이 있지만 그중 어느 것도 "코드 128A"가 아닙니다.

코드의 모습은 다음과 같습니다.

Barcode128 code128 = new Barcode128();
code128.CodeType = Barcode.CODE128;
code128.ChecksumText = true;
code128.GenerateChecksum = true;
code128.StartStopText = true;
code128.Code = "045746201627080857";

아래 이미지는 내가 지금까지 달성 한 최고를 보여줍니다.

alt text

상단의 이미지는 itextsharp에 의해 생성되고 하단의 이미지는 Barcode4net에 의해 생성됩니다. 분명히, 그것들은 동일하지 않습니다 (크기와 글꼴뿐만 아니라 바코드 데이터는 상당히 다릅니다).

ItextSharp (또는 itext 자체) 바코드 구성 요소 또는 코드 128A 바코드에 익숙한 사람이 있습니까?

도움이 되었습니까?

해결책

그들이 정확히 똑같이 보일 필요가 있습니까? 코드 128의 다른 버전은 바코드 자체가 완전히 다르게 보이더라도 숫자를 인코딩 할 수 있습니다. 독자는 결국 그것을 모두 정렬해야합니다.

B Variant는 대문자 외에 소문자가 있기 때문에 B 변형을 선호합니다. 차이점을 자세히 설명하는 테이블을 볼 수 있습니다 http://www.barcodeisland.com/code128.phtml

itextsharp는 변형 C를 생성하는 것처럼 보입니다. 텍스트가 소수 자릿수 인 경우 가장 작습니다. 다른 인코딩에서 단일 문자와 같은 공간에서 2 자리를 인코딩합니다.

다른 팁

숫자는 다음과 같아야합니다.

*045746201627080857*

바코드를 읽을 수 있도록 시작과 끝에 별표를 추가해야합니다. 구성 요소 문서를 확인해야합니다.

스캐너는이 유형의 BC에서 선행 및 후행 별표가 필요합니다.

코드에서 볼 수있는 것에 대해 라인

code128.StartStopText = true;

자동으로 추가 하고이 속성을 False로 설정하면 동일한 바코드로 끝납니다. 첫 번째 코드에서 사용해야합니다

Code128ABarcode c128A = new Code128ABarcode("*045746201627080857*");

스스로 시도 :)

편집 :

올바른 바코드는 다음과 같습니다.

대체 텍스트 http://www.bcgen.com/demo/linear-dbgs.aspx?d=045746201627080857&s=13&cs=1

아래 링크에서 (사용 ID 자동화 무료 서비스):

http://www.bcgen.com/demo/linear-dbgs.aspx?D=045746201627080857&S=13&CS=1

당신이 가진 것은 :

대체 텍스트 http://www.bcgen.com/demo/linear-dbgs.aspx?d=045746201627080857&s=13&cs=3

그리고 이건 Code128C 대신에 Code128a 링크를 확인할 수 있듯이 바코드 속성 Code128C에)

http://www.bcgen.com/demo/linear-dbgs.aspx?d=0457462016270857&s=13&cs=3

Balexandre는 발전기가 혼합되어 있다고 생각하지만 그의 조언은 좋습니다.

분명히 Barcode.4net은 에뮬레이션하려는 코드 128A 바코드를 올바르게 생성하고 있습니다.

ItextSharp는 Mark Ransom에 따르면 사용자와 고객이 그것을보고 "너무 짧고 다른 것들처럼 보일 것"이라고 말하는 것을 제외하고는 괜찮은 코드 128c 바코드를 생성하고 있습니다.

그래서 훌륭한 조언이지만 여전히 "Itextsharp로 코드 128A 바코드를 어떻게 생성합니까?"

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top