C# İle Termal Yazıcıya Kod Göndermek??
-
http://www.crs-usa.com/DEALER/snbc/BTP-2002NP_Programming%20_Manual_V1.01.pdf
burdaki yazıcıdan var şuan elimde.C# ile bişeyler yazdırıyorum ancak kağıdın solundan başlatmak istiyorum yazıyı şuanda biraz ortadan başlıyor gibi burda baya bir kod vermişler ama bunları nasıl c# içinde kullanacağım.
-
nasıl yazdırırsın tam olarak incelemedim dökümanı ama aradığın şeyin adı aligment hocam

şimdi elinde nasıl kod var bilmiyorum yazdırmak için ama buradan gördüğüm yazıları hizalamak için "ESC a n" yi yollaman gerekiyor.
tablodan çıkardığım kadarıyla şu şekilde yollarsan sola dayalı olarak çıkarabilirsin
"27 97 0" ya da "27 97 48"
Burdaki 27 ESC oluyor, 97 de a oluyor, 0 ya da 48 de sola dayalı yazdırma işini yapıyor.
Elinde var olan komutlar varsa, yazdırma işleminden önce bu komutu da uygulayıp ondan sonra yazdırman gerekebilir. Tabi tam olarak emin değilim, mantığını anlamak içini iyice bakmak lazım, daha önce böyle bir şeyi kullanmadım. Deneyebilirsen sonucunu paylaşırsan iyi olur
Edit: Allata default olarak n=0 demiş yani normalde sola dayalı yazması lazım.. Elindeki kodlara bak 27 97 1 diye mi yazılmış, onu 0 ya da 48 yaparsan çözülebilir.
unbalanced tarafından 30/May/15 00:19 tarihinde düzenlenmiştir -
@unbalanced hocam c#kodlarım burdaki siteden alıntı aynen yaptım.
http://blog.rakkoc.com/2012/03/c-ile-yazici-kullanimi-cikti-alma/
burda
e.Graphics.DrawString("Deneme", aFont, Brushes.Black, 10f,10f); demiş ben bunları 1f, 1f yaptımoldu.
Yazı sola kaydı birde bu örnekte resimde bastırmıs ben sadece yazı kısmını aldım. Yani hiç o dökümantasyonu karıştırmadan c# ile halloldu.Ancak senin dediklerini string içindemi gönderecektim."27 97 0" böyle göndersem normal basmaz mı?
-
bu site sanırım burdaki rakkoc nickli arkadaşın sitesi :)
şimdi benim demek istediğimi anlamadın sanırım.. Bu verilen bir dökümantasyon yani ortada bir kütüphane/sdk olması gerekiyor. Onu kullanarak yazdırma işlerini yaptıracaksın. Adamlar da işte yazdırma ayarlarını yapabilmen için bazı komut setleri tanımlamışlar. İşte şöyle yaparsan böyle çıktı alırsın, böyle yaparsan böyle olur gibi..
Bu sdk de bu komutların uygulanabileceği bir alan vardır, yani stringi çıktı almak değil olay, onların sdk lerini kullanarak bu değeri ilgili class a geçireceksin ve o yazdırırken bu komutları gözönüne alarak yazdıracak
-
hocam konuyu gorunce yardim edeyim diye daldim ama unbalanced hocamin verdigi kod SDK'yin native islemleri icin kullanabilecegin kod. oradaki ornek windows driveri uzerinden yolluyor. printerSettings den printer ayarlari vs de secilebiliyor. Termal Card printerlar icin yapmistim zamaninda. sen soyleyince fark ettim ki uzun zamandir printer isi yapmiyorum. Teknikkart firmasinda 5-6 sene o printerlarin yazilimlari ve kart chiplerinin kodlanmasiyla gecirdim.
Barkod vs yazdiran da bir kutuphaneye baslamistim kalmisti oyle. Eger bir ihtiyacin olursa bir pm kadar uzagindayim bilgine :)
-
Anladım hocam ama o tarz bir sdk sı var mı varsa nerde onu bilmiyorum.Şuan için halletmiş oldum işimi sola dayalı yazdırabiliyorum.Blogta burdan bi arkadaşınsa teşekkür ederim kendisine güzel bir yazı olmuş.
@rakkoc hocam teşekkürler ilgin için tam ben yazarken konuya yazdıgını gördüm.Takıldığım bi yer olursa sorarım.Zaten sitende gayet güzel özetlemişsin.
Hannibal_King tarafından 30/May/15 01:36 tarihinde düzenlenmiştir -
çizik ilerde ihtiyacım var buna
-
Hannibal_King bunu yazdı
Anladım hocam ama o tarz bir sdk sı var mı varsa nerde onu bilmiyorum.Şuan için halletmiş oldum işimi sola dayalı yazdırabiliyorum.Blogta burdan bi arkadaşınsa teşekkür ederim kendisine güzel bir yazı olmuş.
@rakkoc hocam teşekkürler ilgin için tam ben yazarken konuya yazdıgını gördüm.Takıldığım bi yer olursa sorarım.Zaten sitende gayet güzel özetlemişsin.
bu tarz seyler ile ugrasiyorsan sana daha farkli bir seyde vereyim aslinda :)
private static string strYay(string SolMetin, string SagMetin, int p, bool YeniSatir = true)
{
string r = string.Empty;
r = SolMetin + SagMetin.PadLeft(p - SolMetin.Length, ' ');
if (YeniSatir)
r += "\n";
return r;
}
private static string strOrtala(string ortalanacak, int p, bool YeniSatir = true)
{
ortalanacak = ortalanacak.PadRight(p, ' ').Substring(0, p).Trim();
//return ortalanacak;
ortalanacak = String.Format("{0,-" + p + "}", String.Format("{0," + ((p + ortalanacak.Length) / 2).ToString() + "}", ortalanacak));
if (YeniSatir)
ortalanacak += "\n";
return ortalanacak;
}
Pos cihazlarina serverdan slip datasi yollarken kullaniyorum.
Edit : p int degeri bir satirdaki max karakter sayisidir.
undefined-01 tarafından 30/May/15 01:43 tarihinde düzenlenmiştir -
Saol hocam inceliyorum kodu şimdi
