DYMO ve 20000 etiket
Geçen sene kurum içinde kullanılmak üzere geliştirdiğim demirbaş otomasyonunda kullandığımız DYMO LM450 ile yaklaşık olarak 20000 adet etiket başmışız. Geçen hafta arıza için servise gönderdiğimizde , artık printer için bir şey yapılamayacağını söylemişler.
Dymo LM450 nin özelliği, desktop için kullnılan , klavyesi de olan, istenilen datayı kendi etiketlerine basabilmesi.
Demirbaş uygulamasında en büyük problem etiketin uzunluğu ayarlabilmek ve yazıcının düşük özellikli termal başlığından barkod ve resim basabilmekti.
Brush br = new SolidBrush(Color.Black);
if (m_change_settings)
{
EtiketPrinterSettings sd = new EtiketPrinterSettings();
PrinterData pss = new PrinterData();
pss.Duplex = PageDuplex.DMDUP_SIMPLEX;
pss.Size = PaperSize.DMPAPER_USER;
pss.source = PaperSource.DMBIN_FORMSOURCE;
pss.Orientation = PageOrientation.DMORIENT_LANDSCAPE;
sd.MyEtiketUzunluk = m_e_uz;
sd.MyEtiketWidth = m_e_w;
sd.ChangePrinterSetting(m_PrinterName,pss);
}
if (m_show_image)
{
Bitmap bmp = new Bitmap("amblem.bmp");
g.DrawImage(bmp, 0, 0 , 50, 50);
g.DrawString( m_Header , m_PrintFont, br, 40, 0);
g.DrawString( "*" + m_BarcodeData +"*" , m_BarcodeFont, br, 52, 10);
//g.DrawString( "*" + m_BarcodeData +"*" , m_BarcodeFont, br, rfet);
}
else
{
g.DrawString(m_Header , m_PrintFont, br, 5, 5);
m_BarcodeFont = new Font("CarolinaBar-25F2", 10);
g.DrawString( "*" + m_BarcodeData +"*" , m_BarcodeFont, br, 10, 13);
if(m_ShowHumanReadable)
{
g.DrawString(m_label_info, m_PrintFont, br, 5, 40);
}
}
yordamıyla standart graphics işlemlerini kullanrak printerdan çıktıları alıyorum. Buradaki EtiketPrinterSettings nesnesi intenet ve microsofta bulunabilen standart winspool.drv implementasyonu. Etiket boyuda standar DEVMODE içinde tanımlı değişkenlerden ayarlanabiliyor.
Hiç yorum yok:
Yorum Gönder