मैं एक आवेदन जहाँ मैं एक टिकट मुद्रित करने के लिए की जरूरत है। प्रत्येक टिकट अद्वितीय होना चाहिए। एप्लिकेशन विंडोज़ फॉर्म है और पूरी तरह से सी # में लिखा है। हमारे आवेदन के लिए हम सैमसंग एमएल -2525 लेजर मोनोक्रोमैटिक प्रिंटर का उपयोग कर रहे हैं।वहाँ अगर एक मुद्रण प्रक्रिया सफल रहा था की जाँच के लिए एक रास्ता है?
प्रवाह मूल रूप से निम्नलिखित है, ऑपरेटर एक उत्पाद/टिकट चुनता है (जो अद्वितीय है) और फिर इसे एक बटन है कि 2 बातें करता प्रेस:
- एक डेटाबेस से कनेक्ट करता है और के रूप में इस्तेमाल उत्पाद अद्यतन करता है
- एक समय में टिकट (इस System.Drawing और GDI + का उपयोग किया जाता)
प्रिंट करता है किसी कारण से, हर एक बार, छवि मुद्रित करने की आवश्यकता है कि प्रिंटर को नहीं भेजी जाती। यह एक दुर्लभ मामला है, लेकिन ऐसा होता है।
मैंने Win32_Printer (http://msdn.microsoft.com/en-us/library/Aa394363) का उपयोग कर प्रिंटर से कनेक्ट करने का प्रयास किया लेकिन मुझे वर्तमान प्रिंटर की स्थिति (ऑनलाइन, ऑफलाइन, कम टोनर, पेपर जाम इत्यादि) नहीं मिल सकती है। मैं केवल जांच सकता हूं कि प्रिंटर मौजूद है या नहीं कि पेपर आकार सही ढंग से स्थापित है। मैं निम्नलिखित के समान कोड की कोशिश की, लेकिन यह काम नहीं किया
private string MonitorPrintJobWmi()
{
var jobMessage = String.Empty;
var scope = new ManagementScope(ManagementPath.DefaultPath);
scope.Connect();
var selectQuery = new SelectQuery { QueryString = @"select * from Win32_PrintJob" };
var objSearcher = new ManagementObjectSearcher(scope, selectQuery);
var objCollection = objSearcher.Get();
foreach (var job in objCollection)
{
if (job != null)
{
jobMessage += String.Format("{0} \r\n", job["Name"].ToString());
jobMessage += String.Format("{0} \r\n", job["JobId"].ToString());
_jobId = Convert.ToInt32(job["JobId"]);
jobMessage += String.Format("{0} \r\n", job["JobStatus"].ToString());
jobMessage += String.Format("{0} \r\n", job["Status"].ToString());
}
}
return jobMessage;
}
मैं प्रिंटर के लिए एक API पाने की कोशिश की, लेकिन मैं इसके बारे में एक पकड़ नहीं मिल सका। वैसे, प्रिंटर का सॉफ़्टवेयर विंडोज टूलबार में अलग-अलग त्रुटियों को इंगित करता है।
मेरा प्रश्न है, तो किसी को भी मुझे कैसे एक प्रिंटर से कनेक्ट और यदि मुद्रण सफल रहा था की जांच करने के लिए के रूप में सही दिशा में जन्म दे सकता है।
इसके अलावा, यह अगर किसी को कुछ अन्य विशिष्ट प्रिंटर, जिसमें मैं इस यानी पूरा कर सकते हैं, हार्डवेयर बदलने की पता उपयोगी होगा।
धन्यवाद,
संबंधित देखें: http://stackoverflow.com/questions/1921487/confirm-sccessccess-print-programmatically-in-windows – Eugene
मैंने किया, लेकिन कुछ प्रारंभिक नमूना कोड शुरू करने के लिए फायदेमंद होगा। – lopezbertoni
@lopezbertoni एक छोटा गुगलिंग आपको दिखाएगा कि सी # ऐप्स में उन लिंक किए गए तरीकों का उपयोग कैसे करें ... जैसे http://www.codeproject.com/Articles/51085/Monitor-jobs-in-a-printer-queue-NET –