2017-09-30 3 views
1

Ich versuche, einen Barcode auf einem argox OS-214, dass ich mit diesem Framework http://barcoderender.codeplex.com/ erstellen, aber immer verschwommen ist, kann nicht mit einem Scanner lesen.Etikettendruck ist verschwommen - wpf

Ich habe schon einige andere Lösungen ausprobiert, aber ich bekomme es immer noch nicht, und wenn ich den "Barmixer" der Druckersoftware benutze, ist es in Ordnung. Die Etikettengröße beträgt 40mmX60mm und ist im Windows-Druck eingerichtet. folgt dem Prototyp Code:

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"); 
     } 
    } 
    } 

Dies ist nur eine Bildkomponente ... Nun, würde jede mögliche Hilfe zu schätzen wissen. Danke im Voraus. Der Drucker hat 203dpi, und es ist wpf. Label with the blurry code

+0

Versuchen Sie diese Eigenschaften https://stackoverflow.com/questions/805677/why-everything-in-wpf-is-blurry auf pcImage vor dem Aufruf Maßnahme und vereinbaren – shadow32

+0

Hallo, vielen Dank für Ihren Vorschlag, ich habe schon versucht UseLayoutRounding = "True" RenderOptions.BitmapScalingMode = "NearestNeighbor" SnapsToDevicePixels = "True" RenderOptions.ClearTypeHint = "Enabled" und leider verschwommen, werde ich die Frage mit einem Label-Bild zu aktualisieren. – Patroni

Antwort

1

Nun, ich vergaß darüber ... Aber wenn dies jemand helfen könnte ... drucken 214-os oder andere Möwe Barcode-Drucker Sie einige Standard-Layout wie dieser Datei (PRN) müssen ARGOX zum Beispiel:

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

, wo die ersten sieben Zeilen

n 
M0500 
O0220 
V0 
f220 
D 
L 
D11 
A2 

sind immer die gleichgeschlechtliche

barcode.prn

Ich verwende dieses Layout

Barcode

(es ist ein alter Drucker nur zum Test, so dass ich weiß, dass es „verschwommen“ ... scheint) und dann werden die nächsten Zeilen können Sie sehen,

dies, wenn für den Barcode 1a5205000790055 + meinen Code (1063)

dies für das Label mit dem Preis 121100000280089 + meinen Zeichenfolge mit Preis (Preco R $ 39,9)

und so weiter ...

Und ich bin Druck wie dieses

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

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

Oh, könnten Sie RawPrint auf nuget finden ... Install-Package RawPrint -Version 0.2.0

Oder all dies vergessen und BARKEEPER versuchen DESIGNER Erstellen Sie einfach Ihr Etikettendesign und exportieren Sie es in die PRN-Datei. Denken Sie jedoch daran, eine Druckerschriftart zu verwenden. Wenn Sie eine Windows-Schriftart verwenden, wird eine PRN-Datei mit vielen unerwünschten Zeichen erstellt.