Ho bisogno del modulo di stampa con codice a barre nella mia app ma non riesco a capire come stampare correttamente i codici a barre. Sembra che la risoluzione sia troppo bassa. Sto usando Zen Barcode. Come si può vedere da foto allegata, superiore del codice a barre è stampato dal software della stampante, dimostrando stampante è ok, foto in basso viene stampato dal mio codice:Codice a barre stampato non chiaro (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);
}
Stai impostando 'SnapToDevicePixels' ovunque? –
nessuna differenza. lo uso su Image, anche provato sulla griglia – arti
Hai provato a passare la dimensione effettiva del codice a barre in 'CreateBitmapSourceFromHBitmap' invece di' Int32Rect.Empty'? –