Potrzebuję modułu do drukowania kodów kreskowych w mojej aplikacji, ale nie mogę go znaleźć, jak poprawnie wydrukować kody kreskowe. Wygląda na to, że rozdzielczość jest zbyt niska. Używam Zen Barcode. Jak widać na załączonym zdjęciu, top kod kreskowy drukowany jest z oprogramowaniem drukarki, udowadniając, że drukarka jest ok, dolny obraz jest drukowany z mojego kodu:Kod kreskowy wydrukowany jest niewyraźny (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);
}
Czy ustawiasz 'SnapToDevicePixels' w dowolnym miejscu? –
Bez różnicy. używam go na obrazie, również próbowałem na siatce – arti
Czy próbowałeś przekazać rzeczywisty rozmiar kodu kreskowego do 'CreateBitmapSourceFromHBitmap' zamiast' Int32Rect.Empty'? –