2011-04-14 9 views
8

हमारे पास जावा में लिखे गए एक मौजूदा क्रॉस-प्लेटफ़ॉर्म (मैक, विंडोज, लिनक्स) एप्लिकेशन है, जो प्रोग्रामेटिक रूप से एक प्रिंट संवाद दिखाए बिना डिफ़ॉल्ट प्रिंटर पर दस्तावेज़ भेजता है।प्रोग्रामेटिक रूप से 'फ़ाइल में प्रिंटिंग' अक्षम करें

विभिन्न प्लेटफार्मों में फ़ाइल पर प्रिंट करने के लिए प्रिंटर सेट करना संभव है। उदाहरण के लिए विंडोज़ में एक्सपीएस दस्तावेज़ राइटर को डिफ़ॉल्ट प्रिंटर के रूप में सेट करना संभव है, या प्रिंटर पर गुणों को बदलने के लिए यह है कि यह सभी दस्तावेजों की फाइल कॉपी रखता है।

क्या यह पता लगाना संभव है? मैं किसी भी सुझाव के लिए खुला हूं, लेकिन समाधान को क्रॉस-प्लेटफॉर्म पर काम करना चाहिए। मुझे लगता है कि इस तरह के विवरण बहुत कम स्तर (और मंच निर्भर) हैं, इसलिए जावा समाधान शायद संभव नहीं है, लेकिन यदि संभव हो तो आदर्श होगा।

हम जरूरी नहीं कि बुलेट प्रूफ समाधान की तलाश कर रहे हों, इसलिए कोई सुझाव उपयोगी होगा, इससे कोई फर्क नहीं पड़ता कि कितना निराला!

संपादित करें:

मुझे पता है वहाँ गैर तकनीकी यहाँ मुद्दों है, जो चर्चा का एक बहुत उत्तेजित कर सकता है की एक पूरी मेजबान है (जो यह सोचा है था?)। मैं यह स्पष्ट करना चाहता हूं कि मैं डीआरएम का प्रशंसक नहीं हूं (जैसा कि इसकी तुलना की गई है) और बुराई होने की कोशिश नहीं कर रहा हूं :)।

मुझे सराहना है कि ये मुद्दे वास्तविक हैं, और मेरी सिफारिशें करते समय मैं इसे बहुत स्पष्ट कर दूंगा। हालांकि मुझे ऐसा करने से पहले तकनीकी समाधान की जांच करनी होगी।

+0

यह कुछ हद तक संबंधित हो सकता है: [आपके रंग क्या हैं?] (Http://ansuz.sooke.bc.ca/lawpoli/colour/2004061001.php) – Piskvor

उत्तर

9

सं

तुम अजीब ओएस पर निर्भर का पता लगाने के सभी प्रकार (यह somedriver.dll उपयोग कर रहा है?) कर सकता है, या नाम-सूँघने ("यह एक्सपीएस 'में क्या है?") लेकिन अंत में :

  • 1) यह आपके व्यवसाय कैसे मैं अपने दस्तावेज़ों को मुद्रित में से कोई भी है,
  • 2) शामिल कपोल-कल्पना के कारण, यह पता लगाने के लिए कि क्या दिया तार्किक प्रिंटर वास्तव में एक शारीरिक प्रिंटर या कहीं प्रिंट होगा व्यावहारिक रूप से असंभव है अन्य;
  • 3) यह नेटवर्क ड्राइवरों का उल्लेख नहीं करना है (\\joescomputer\someprinter पर क्या है? कहना मुश्किल है: एक प्रिंटर हो सकता है, पीडीएफ जनरेटर हो सकता है, चाची मातील्डा हो सकता है; नेटवर्क आपके प्रोग्राम और भौतिक के बीच अमूर्तता की एक और परत जोड़ता है हार्डवेयर)
  • 4) अगर मैं वास्तव में वास्तव में एक गैर-पेपर प्रतिलिपि चाहता हूं, तो मैं एक स्क्रीनशॉट या यहां तक ​​कि एक वास्तविक तस्वीर लेगा, या
  • 5) भौतिक प्रिंटर से लानत पेपर प्रिंटआउट लें और इसे खिलाएं एक स्कैनर, किसी भी अच्छे कारण के लिए मेरे वर्कफ़्लो के साथ गड़बड़ करने के लिए आप पर चिल्ला रहा है।
  • ध्यान दें कि 6) मध्यम और बड़े पैमाने पर printing solutions हैं जो "नेटवर्क प्रिंटर" इंटरफेस का पर्दाफाश करते हैं, और फिर उपयोगकर्ता को दस्तावेज़ के साथ कई चीजें करने की अनुमति देते हैं (जो उस बिंदु पर केवल स्पूल फ़ाइल के रूप में मौजूद है एक सर्वर कहीं भी): किसी भी n किसी भी सिस्टम, ई-मेल, फ़ैक्स, से जुड़े प्रिंटर पर प्रिंट करें - इसलिए आप पहले से नहीं जानते कि दस्तावेज़ भौतिक रूप से प्रिंट करेगा (या कहां), प्रिंट के रूप में भी नौकरी कंप्यूटर छोड़ देता है।

आप अनिवार्य रूप से एक अलग सेटिंग में एक DRM से लड़ाई (यह एक नैतिक निर्णय नहीं है, लेकिन इस तथ्य के एक बयान से लड़ रहे हैं: "मैं विकल्प हैं कि मेरे सॉफ़्टवेयर के उपयोगकर्ताओं को सीमित करना चाहते हैं" की मूल है डीआरएम, और आपके प्रश्न - चाहे किसी भी राय के विषय में मेरे पास हो); जैसा कि आप जानते हैं, वे गन्दा हैं और अप्रिय साइड इफेक्ट्स हैं ("आपका क्या मतलब है, मैं अपने भौतिक प्रिंटर पर प्रिंट नहीं कर सकता क्योंकि इसे WinXPStation नाम दिया गया है?"? "" मेरा एंटीवायरस कहता है कि आपका सॉफ़्टवेयर गड़बड़ करने की कोशिश कर रहा है मेरे प्रिंटिंग ड्राइवर, क्या आप स्पाइवेयर को दबा रहे हैं?!? "), और वे अवांछनीय हैं - हमेशा एक कामकाज होता है।

भी वास्तव में अक्षम करने कुछ के बारे में सोच नहीं है आप सोच सकते हैं एक प्रिंट करने वाली फ़ाइल चालक है: ध्यान दें सोनी के DRM से असफलता, और ध्यान दें कि आप अवैध रूप से कंप्यूटर के साथ छेड़छाड़ के लिए मुकदमा हो सकता है।

अधिक व्यावहारिक नोट पर, यदि आपका सॉफ़्टवेयर सिस्टम के किसी अन्य भाग को अक्षम करता है, और फिर वह अन्य भाग काम नहीं करता है क्योंकि यह अक्षम है, तो शब्द निकल जाएगा। "मैंने निगेलसोफ्ट द्वारा कुछ सॉफ्टवेयर स्थापित किया, और यह मेरा प्रिंटर तोड़ दिया" अधिग्रहण करने के लिए एक अच्छी प्रतिष्ठा नहीं है, और मिटाना मुश्किल है - लोग शिकायत करेंगे, और, इंटरनेट पर जो भी हो, वह हमेशा के लिए रहेगा (आप जैसी कई समान घटनाओं को नोट करें खोज के द्वारा खोजा जाएगा "(एंटीवायरस विक्रेता) विंडोज़ तोड़ता है")। ध्यान दें कि प्रश्न में विक्रेता खुश से कम होगा: "आपका # @ $ @ सॉफ़्टवेयर जानबूझकर मेरे वंडरफुल स्पेशल इंद्रधनुष प्रिंटर (टीएम) को तोड़ रहा है, आप हमें वह धन देते हैं जो हमें धनवापसी करना था, यहां आपके खिलाफ कुछ मुकदमे हैं "।

दूसरे शब्दों में, मुझे लगता है कि इसके पीछे कुछ गैर-तकनीकी आवश्यकता है, दुर्भाग्यवश - तकनीकी साधनों द्वारा पूरी तरह से हल नहीं किया जा सकता है (और निश्चित रूप से जावा के गहरे अबाधों के साथ नहीं)। आपको कानूनी मार्ग पर जाना पड़ सकता है, जैसे कि "आपको इलेक्ट्रॉनिक रूप से प्रिंटआउट को सहेजने की अनुमति नहीं है" और इसे प्रिंट करने के अनुरोध के हर बिंदु पर विशाल लाल चमकते अक्षरों में दिखाया जा सकता है। यह तकनीकी समाधान के रूप में भी अप्रभावी होगा, लेकिन सीवाईए के लिए पर्याप्त हो सकता है (जैसा कि आप उपयोगकर्ता के निर्णय को स्पष्ट रूप से स्थानांतरित कर देंगे)।

+0

धन्यवाद। यदि आप इन 'अजीब ओएस-निर्भर पहचान' तंत्रों को सूचीबद्ध कर सकते हैं तो मैं बहुत आभारी हूं :)। जबकि मैं पूरी तरह से आपके अंक से सहमत हूं, मुझे इस बारे में किसी भी विचार में दिलचस्पी है कि यह कैसे करें। उदाहरण के लिए मैंने विंडोज विशिष्ट अनुप्रयोगों को देखा है जो इसे सफलतापूर्वक कर सकते हैं। यद्यपि ये निस्संदेह मूर्ख-प्रमाण नहीं हैं, यह दिखाता है कि कार्यान्वयन (हालांकि सीमित) संभव है। – Nigel

+0

+1 "यह आपके व्यवसाय में से कोई भी नहीं है कि मैं अपने दस्तावेज़ कैसे प्रिंट करता हूं"। अच्छा लेख। वास्तव में –

+0

+1। यह एक क्लाइंट का उदाहरण है जो आपको इंटरनेट और ऑपरेटिंग सिस्टम के बुनियादी सिद्धांतों को बदलने के लिए कह रहा है। यह बिल्कुल तकनीकी समस्या नहीं है। –

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