C#, Asp.Net, .Net Core
İstemciden Sunucuda Kurulu Barkod Yazıcıdan Çıktı Almak (IIS / ASPNET Web Form)
İstemciden Sunucuda Kurulu Barkod Yazıcıdan Çıktı Almak (IIS / ASPNET Web Form)
-
Merhaba IIS üzerinde yürüyen aspnet web form uygulamasında istemciden istek gönderildiğinde sunucu bilgisayar üzerinde kurulu barkod yazıcıdan çıktı almak istiyorum, (IIS üzerindeki web uygulamasına aynı ağdan telefon, tabletten girilse bile çıktı alınmak istendiğinde sunucu bilgisayarından barkod yazıcıdan çıktı vermesi gerekir) elimde barkod yazıcı mevcut değil test yapma imkanım yok, PosForDotNet.SDK'dan faydalandım istemciden yazdır dediğim de hata vermeden komut gidiyor fakat elimde test cihazı olmadığı için boşa mı dönüyor anlamıyorum (sanki sunucu üzerindeki bilgisayardan sorunsuz çalışıp istemciden komut gelse bile istemcideki komut boşa dönecek, gibi hissediyorum) daha önce böyle bir sistem hazırlamış olan var mı? bu senaryoda sistemin sorunsuz çalışması için hangi izinleri sağlamam gerekli yada direk çalışır mı? yardımcı olursanız sevinirim
-
Hocam windows sanal printer ile cikti al. Barkod yazicida sonuçta ayni printer poolunu kullanır sadece sayfa boyutu farklidir (barkod ribonunun boyunda yazdırman gerekir)
posfornet gibi bir sdk kullanmadım ama c# da ki print document üzerinde cikti alıyorsan, sunucuda ki printerdan alacaktir. print objesinin içinde ki default printer kısmını windows printers listesinde ki printerin ismi olarak set edersen direk o yazicidan cikti alir. atama yapmazsan windowsun default tanimli printerindan ciki alir.
-
Hocam selam,
Asp.net dediğin için sunucu windowstur sanırım. Sunucuya bir adet yazıcı ekle Lpt bir seçerek, yazıcı marka modelide IMB Graphichs olması kafi. Gönderdiğin çıktılar yazıcının içinde birkecektir....
-
Aslen C#'da yerel çalışacak (desktop app gibi) kod yazacaksın. asp.net işe bulaştırmana gerek yok.
Yapması kolay ama bir sürü sorun için error catch'leme lazım. Bol bol try except kullanacaksın. (En basitinden client yazılmadığını düşünerek üst üste yazdırabilir veya trolleyip 1000 tane gönderebilir.)Öncelike clientlerdan gelen talepleri db yazdır. Kim hangi saatte hangi barkod sunucuya göndermiş seninde bilmen iyi olur.
Yazdırma işlemi için bir fonksiyon tanımla, eğer client barkod düzeni ve tipi gibi şeyler yapmayacak ve default bir barkod tasarımı varsa birşey yapmayacaksın. Default yazıcıya göndereceksin.
gelen_barkod_talep() fonk:
1. gerekli kontroller (gelen format, tür doğru mu, kim gönderdi)
2. db kayıt
3. BarkodPrint fonksiyonunu tetikleBarkodPrint():
1. Gelen talebi windows yazıcı kuyruğuna gönder. O zaten kendi kuyruğa atar ve sırasıyla basar. burada yazdırmadan önce printer sağlık (kağıt/toneri, kuyruk) durumunu kontrol ettirebilirsin, System.Printing namespace'de hepsi olması lazım. Bir göz at.
2. True dönerse db "yazdırıldı" olarak işle.Bu arada MS, asp.net webform'u öldürdü. Yeni frameworklerde artık destek yok. Başımız sağolsun, severdim kendisini.
cukurova tarafından 01/Haz/21 22:17 tarihinde düzenlenmiştir -
Aradığım şey zaten publish edildikten sonra IIS'e atınca ağ üzerindeki farklı işletim sistemine sahip cihazlardan güvenlik vs. engellere hiçbir engele takılmadan sunucu üzerindeki yazıcıya istek / komut alabilmesiydi android'ten IIS üzerinde yürüyen web uygulamasına print komutu göndermeyi başardım sadece aşağıdaki kodla komut aldığını gördüm, bundan sonrada aşağıdaki kodu geliştirip içine yazdırmak istediğim içeriği ekleyince problem ortadan kalkacak tekrardan teşekkürler.
PrintDocument doc = new PrintDocument();
doc.PrinterSettings.PrinterName = "Yazıcı İsmi";
doc.Print();
dalyKadir, siyahbereli, cukurova
Hocalar çok teşekkürler söyledikleriniz ufuk açıcıydı, fakat yinede söylediklerinizden daha farklı yol tavsiyesi olan varsa, beklerim malumunuz farklı yaklaşımlar daha da güzel kod yazılmasına sebep oluyor:)edit : cukurova hocam 2 sayfa şirket için sunucudan ekran gösterilecek web form işimizi görüyor fazla bir özelliğe gerek yok o yüzden direk kullandım, yoksa farkındayım daha web form kullanılmıyor
helyum_pasha tarafından 01/Haz/21 23:33 tarihinde düzenlenmiştir