Печать на этикетках расплывчатая - wpf
Я пытаюсь напечатать штрих-код на Argox OS-214, который я создаю, используя эту платформу http://barcoderender.codeplex.com/ но всегда расплывчатый, не могу прочитать с помощью сканера.
Я уже пробовал некоторые другие решения, но я все еще не получил его, и если использовать программное обеспечение принтера "Бармен", все работает нормально. Размер этикетки составляет 40xX60 мм и настраивается при печати 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");
}
}
}
Это всего лишь компонент изображения... Ну, любая помощь будет признательна. Заранее спасибо. Принтер имеет 203 точек на дюйм, и это wpf. Метка с размытым кодом
1 ответ
Ну, я забыл об этом... Но если это может кому-то помочь... Для печати на argox 214-os или других принтерах штрих-кодов Seagull вам понадобится макет по умолчанию, такой как этот файл (.prn), например: barcode.prn
n
M0500
O0220
V0
f220
D
L
D11
A2
1a52050007900551063
121100000280089Preco R$ 39,9
121100000490068REGM OGB T-M
Q0001
E
где первые семь строк
n
M0500
O0220
V0
f220
D
L
D11
A2
всегда одинаковы
Я использую этот макет
(это старый принтер, просто для теста, так что я знаю, что он кажется "размытым"...) и затем следующие строки, которые вы можете увидеть
это если для штрих-кода 1a5205000790055 + мой код (1063)
это для этикетки с ценой 121100000280089 + моя строка с ценой (Preco R$ 39,9)
и так далее...
И я печатаю вот так
Printer printer = new Printer(); (RawPrinter library)
printer.PrintRawFile(dlg.PrintQueue.FullName, Directory.GetCurrentDirectory() + "\\code39.prn", false);
О, вы можете найти RawPrint на nuget...Install-Package RawPrint -Version 0.2.0
Или забудьте обо всем этом и попробуйте BARTENDER DESIGNER, просто создайте дизайн этикетки и экспортируйте в файл prn, но не забудьте использовать шрифт принтера, если вы используете шрифт Windows, создаст файл prn с большим количеством нежелательных символов.