2012-10-12 2 views
17

मैं किसी दिए गए विंडोज प्रिंट जॉब के लिए डिस्क पर मनमानी स्थान पर स्पूल डेटा कॉपी करना चाहता हूं।स्पूल फ़ाइल पूलिंग सक्षम होने पर भी मुझे किसी दिए गए आईडी के साथ नौकरी के लिए स्पूल फ़ाइल कैसे मिलती है?

मेरे पास Print Spooler API से प्रिंट नौकरी की नौकरी आईडी है। मुझे पता है कि यह काम स्पूलिंग खत्म हो गया है। मुझे पता है कि मेरे पास जो भी करने की ज़रूरत है उसे पूरा करने के लिए समय होने से पहले नौकरी हटा दी जाएगी।

यदि फ़ाइल पूलिंग अक्षम है, तो मैं फ़ाइल के लिए स्पूल निर्देशिका में "xxxxx.spl" प्रारूप के साथ स्पूल निर्देशिका देखकर ऐसा कर सकता हूं, जहां xxxxx 0-गद्देदार नौकरी आईडी है।

फ़ाइल पूलिंग सक्षम होने पर मैं यह कैसे कर सकता हूं?

मुझे खुशी होगी अगर कोई ऐसी विधि थी जो नौकरी आईडी लेती है और स्पूल डेटा की स्ट्रीम लौटाती है, लेकिन इस बिंदु पर यह असंभव लगता है। माना जाता है कि OpenPrinter का उपयोग OpenPrinter "प्रिंटरनाम, जॉब xxxx" और रीड प्रिंटर के साथ here दस्तावेज के रूप में संभव हो सकता है, लेकिन अब तक मैं haven't been able to get it to work, और यहां तक ​​कि यदि ऐसा लगता है कि यह डेटा को स्मृति में लोड करता है, और मुझे यकीन नहीं है कि यह कैसे बड़ी स्पूल फाइलों के साथ काम करेगा (> 1 जीबी असामान्य नहीं है)।

मेरी दूसरी वरीयता आईडी में पास करने का तरीका होगा और डिस्क पर स्पूल डेटा के साथ फ़ाइल का स्थान वापस ले जाएगा (फ़ाइल पूलिंग सेटिंग के बावजूद)।

मेरी तीसरी प्राथमिकता एक पूल वाली फ़ाइल ("FPyyyy.spl") को उस नौकरी आईडी पर मैप करने का एक तरीका होगा, जिसके लिए यह है।

इनमें से कोई भी व्यवहार्य है, या क्या इस मुद्दे को हल करने के बारे में किसी के पास कोई बेहतर विचार है?

(जोड़ने के लिए संपादित किया गया क्योंकि यह स्पष्ट नहीं था कि हम इस विकल्प से अवगत थे): हमारे फ़ॉलबैक की आवश्यकता है कि हमारे ग्राहक प्रत्येक प्रिंटर के लिए रजिस्ट्री को संपादित करके स्पूल फ़ाइल पूलिंग अक्षम करें, लेकिन हम इससे बचने के लिए बहुत अधिक पसंद करेंगे इस।

+0

नमस्ते, "आप जानते हैं कि आपको जो भी करने की ज़रूरत है उसे पूरा करने के लिए समय होने से पहले आपको नौकरी हटा दी जाएगी।" आप स्पूल फाइल कैसे रख सकते हैं? – Kira

उत्तर

8

मैं figured out क्यों OpenPrinter मेरे कॉल में नाकाम रहने के थे और मैं स्पूल डेटा OpenPrinter और ReadPrinter है, जो अच्छी तरह से हमारे समस्या हल का उपयोग कर सफलतापूर्वक पढ़ा है।

मैं अभी भी किसी भी ऐसे व्यक्ति को बक्षीस दूंगा जो बेहतर समाधान के साथ आता है।

1

क्या आपने इसे पढ़ा है?

http://www.undocprint.org/winspool/spool_files

यह To Turn Off Spool File Pooling on a Per Printer Queue-Basis

भी तथापि स्पूल फ़ाइलों http://www.codeproject.com/Articles/9720/The-Windows-NT-print-spool-shadow-file-format के स्वरूप के बारे में इस लेख नहीं है सब कुछ आप की जरूरत है :)

विशेष रूप

के लिए लगता है, लेकिन यह आप पहले से ही प्रारूप पता लगता है और यह शायद किसी भी मदद की नहीं होगी।

+0

हां मैंने उस पृष्ठ को पढ़ा है। हम स्पूल फ़ाइल पूलिंग को अक्षम किए बिना स्पूल डेटा तक पहुंच बनाना चाहते हैं। हमारे ग्राहकों को हर प्रिंटर के लिए रजिस्ट्री को संपादित करने के लिए मजबूर करना (या उनके लिए ऐसा करने का प्रयास करना) कुछ ऐसा है जिसे हम टालना पसंद करेंगे। –

संबंधित मुद्दे