2016-01-05 22 views
5

Uygulamamda barkod yazdırma modülüne ihtiyacım var ancak barkodların nasıl düzgün yazdırılacağını anlayamıyorum. Çözünürlük çok düşük gibi görünüyor. Zen Barcode kullanıyorum. Ekli fotoğraf başına görebileceğiniz gibi, üst barkod yazıcı tamam kanıtlayan, yazıcının yazılımından basılır, alt resim benim kodundan yazdırılır:Yazdırılan barkod açık değil (WPF)

[WPF]

 <Grid x:Name="_printSerialBcode" Margin="9" Visibility="Visible"> 
      <Image x:Name="serial_bcode1" Height="20" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="2"/> 
     </Grid> 

[C#]

private void printJob() 
    { 
     // use printer we need 
     SetDefaultPrinter("Brother QL-700"); 
     //draw barcodes 
     BarcodeDraw bc = BarcodeDrawFactory.Code128WithChecksum; 

     Bitmap serial_bitmap = (Bitmap)bc.Draw(serial, 20); 

     ImageConverter ic = new ImageConverter(); 

     //generate bitmap 
     serial_bcode1.Source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(serial_bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); 

     var dlg = new PrintDialog(); 

     //print main label 
     dlg.PrintTicket.CopyCount = 1; // number of copies 
     dlg.PrintTicket.PageOrientation = PageOrientation.Landscape; 
     dlg.PrintVisual(_printSerialBcode, "Barcode"); 

     //change default printer to original one 
     SetDefaultPrinter(defaultPrinter); 
    } 

Don tarafından tavsiye edildiği Test barcodes

+0

'SnapToDevicePixels''i herhangi bir yere mi yerleştiriyorsunuz? –

+0

fark yok. Resimde de kullanıyorum, aynı zamanda ızgarada da denedim – arti

+0

Barkodun gerçek boyutuna 'Int32Rect.Empty' yerine 'CreateBitmapSourceFromHBitmap' yazmayı denediniz mi? –

cevap

0

, ben, çok daha kolay ve yüksek kalitede baskı Barkod Yazı kullanılan! kullanıyorum IDAutomation