2017-09-03 13 views
0

설정 방법 고정 폭 (500) 및 높이 (300) 바코드 크기? Zxing 라이브러리를 사용하여 바코드 이미지를 생성하고 있습니다.고정 폭 및 높이 바코드 PDF417 형식

private byte[] GenerateBarCodeZXing(string data) 
    { 
     var writer = new BarcodeWriter 
     { 
      Format = BarcodeFormat.PDF_417, 
      Options = new EncodingOptions { Width = 500, Height = 300, Margin=0 } 
     }; 
     var imgBitmap = writer.Write(data); 
     using (var stream = new MemoryStream()) 
     { 
      imgBitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png); 
      return stream.ToArray(); 
     } 
    } 

출력 이미지 :

enter image description here

enter image description here

+0

코드/결과에 어떤 문제가 있는지 언급하지 않았습니다. 500x300이 아닌가요? – kennyzx

+0

^이미지 크기가 500x300이지만 바코드의 크기가 같아야합니다. 위의 두 이미지를 보면 두 번째 이미지 높이/너비가 변경됩니다. pdf_417 n 몇 가지 정보를 바코드 PDF PDF를 생성하는 webapp 일하고 있어요. 모든 데이터는 동적이므로 모든 PDF에서 바코드의 크기가 같아야합니다. –

답변

1

당신은 ZXing.Net와 고정 폭과 높이를 설정할 수 없습니다. 라이브러리는 앤티 엘리 어싱없이 스케일링 만 지원합니다. 결과 크기는 먼저 인코딩해야하는 내용에 따라 다릅니다. 콘텐츠가 많을수록 더 많은 행과 열을 의미합니다. 모든 열과 행의 단일 검정색 (및 흰색) 막대는 지정된 크기를 갖습니다. 대부분의 경우 모든 막대의 합이 원하는 크기와 동일하지 않습니다. 더 많은 공간이 필요한 경우 결과 PDF417 코드가 요청한 크기보다 큽니다. 주위보다 많은 공백이있는 경우. 렌더러는 정수 배율 인수 만 지원합니다.

가장 좋은 방법은 1 픽셀 너비와 1 픽셀 높이의 크기를 요청하는 것입니다. 바코드 작성기는 필요한 최소 크기의 바코드 비트 맵을 생성합니다. 그 후에 선호하는 이미지 조작 라이브러리로 비트 맵의 ​​크기를 조정하십시오.