2017-09-30 14 views
1

argox os-214에 바코드를 인쇄하려고하는데이 프레임 워크를 사용하여 만들었지 만 항상 흐리게 표시되어 있으며 스캐너를 사용하여 읽을 수 없습니다.레이블 인쇄가 흐림 - wpf

나는 이미 다른 해결책을 시도해 보았지만 프린터 소프트웨어 "바텐더 (Bartender)"를 사용하면 제대로 작동합니다. 라벨 크기는 40mmX60mm이며 Windows 인쇄에서 설정됩니다.

public MainWindow() 
    { 
     InitializeComponent(); 
     Code39BarcodeDraw code39 = BarcodeDrawFactory.Code39WithChecksum; 
     pcImage.Source = GetImageStream(code39.Draw("1234567", 13)); 
    } 

    public static BitmapSource GetImageStream(System.Drawing.Image myImage) 
    { 
     var bitmap = new Bitmap(myImage); 
     IntPtr bmpPt = bitmap.GetHbitmap(); 
     BitmapSource bitmapSource = 
     System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
      bmpPt, 
      IntPtr.Zero, 
      Int32Rect.Empty, 
      BitmapSizeOptions.FromEmptyOptions()); 

     bitmapSource.Freeze(); 

     return bitmapSource; 
    } 

    private void btnPrint_Click(object sender, RoutedEventArgs e) 
    { 
     PrintDialog dlg = new PrintDialog(); 
     bool? result = dlg.ShowDialog(); 

     if (result.HasValue && result.Value) { 
     pcImage.Measure(new System.Windows.Size(dlg.PrintableAreaWidth, dlg.PrintableAreaHeight)); 
     pcImage.Arrange(new Rect(new System.Windows.Point(0, 0), pcImage.DesiredSize)); 

     dlg.PrintVisual(pcImage, "Print a Large Image"); 
     } 
    } 
    } 

이 단지 이미지 구성 요소는 ... 글쎄, 어떤 도움이 감사 할 것입니다 : 프로토 타입 규정을 따르십시오. 미리 감사드립니다. 프린터의 해상도는 203dpi이며 wpf입니다. Label with the blurry code

+0

조치를 취하기 전에 pcImage에서 https://stackoverflow.com/questions/805677/why-everything-in-wpf-is-blurry 이러한 속성을 설정하려고 시도하십시오. – shadow32

+0

안녕하세요, 귀하의 제안에 감사드립니다, 저는 이미 시도한 UseLayoutRounding = "True"RenderOptions.BitmapScalingMode = "NearestNeighbor" SnapsToDevicePixels = "True" RenderOptions.ClearTypeHint = "사용"불행히도 흐리게 계속, 나는 라벨 이미지로 질문을 업데이 트합니다. – Patroni

답변

1

글쎄, 난 이것에 대해 잊고 ... 하지만이 사람을 도울 수 있다면 ... 이 파일 (.PRN)과 같은 몇 가지 기본 레이아웃이 필요합니다 (214) - 운영 체제 또는 다른 갈매기 바코드 프린터를 argox을 인쇄하려면 예를 들면 : 처음 7 줄

n 
M0500 
O0220 
V0 
f220 
D 
L 
D11 
A2 

항상 같

n 
M0500 
O0220 
V0 
f220 
D 
L 
D11 
A2 
1a52050007900551063 
121100000280089Preco R$ 39,9 
121100000490068REGM OGB T-M 
Q0001 
E 

을 barcode.prn

나는

Barcode

이 레이아웃을 사용하고 있습니다 (다만 시험을 위해 오래된 프린터를 키우면을, 그래서는 "흐릿하게"보인다 알고 ...) 하고 다음 라인은 당신이 볼 수 있습니다

경우 바코드 1a5205000790055 + 가격으로 가격 121100000280089 + 내 문자열을 라벨에 대한 내 코드 (1063)

이 (프레 코 (Preco) R $ 39,9)

등등을위한 ...

그리고이

Printer printer = new Printer(); (RawPrinter library) 

    printer.PrintRawFile(dlg.PrintQueue.FullName, Directory.GetCurrentDirectory() + "\\code39.prn", false); 

오처럼 미안 인쇄, 당신은 설치 패키지 RawPrint -Version을 ... nuget에 RawPrint을 찾을 수 0.2.0

또는 는이 모든 것을 잊고 BARTENDER 시도 DESIGNER 레이블 디자인을 만들고 prn 파일로 내보내지만 프린터 글꼴을 사용하는 것을 잊지 마십시오. Windows 글꼴을 사용하는 경우 원치 않는 문자가 많은 prn 파일이 만들어집니다.