2009-02-13 13 views
5

मुझे पता है कि इस सवाल से पहले पूछा गया है, लेकिन कोई स्पष्ट जवाब नहीं था।प्रिंटर ट्रे स्विचिंग

मैं प्रिंटर ट्रे को प्रोग्रामेटिक रूप से कैसे बदलूं?

मैं बैच को कुछ पीडीएफ प्रिंट करने के लिए पाइथन का उपयोग करने की कोशिश कर रहा हूं। मुझे विभिन्न ट्रे से अलग-अलग पृष्ठों को मुद्रित करने की आवश्यकता है। प्रिंटर एक रिको 2232 सी है। क्या इसे और एक्रोबैट रीडर कमांड लाइन पैरामीटर के माध्यम से करने का कोई तरीका है? मैं यह पता लगाने के लिए Win32 एपीआई का उपयोग करने में सक्षम हूं कि कौन से डिब्बे किनारे से मेल खाते हैं, लेकिन यह इसके बारे में है। कोई सलाह/शॉर्टकट/आदि?

उत्तर

5

ठीक है, मैंने इसे समझ लिया। जवाब है:

1।आपको एक स्थानीय प्रिंटर की आवश्यकता है (यदि आपको किसी नेटवर्क प्रिंटर पर प्रिंट करने की आवश्यकता है, तो ड्राइवर डाउनलोड करें और इसे स्थानीय प्रिंटर के रूप में जोड़ें)
2. डिफ़ॉल्ट प्रिंटर
3. Win32print का उपयोग करने के लिए Win32print का उपयोग करें, निम्न का उपयोग करें कोड:

import win32print 
PRINTER_DEFAULTS = {"DesiredAccess":win32print.PRINTER_ALL_ACCESS} 
pHandle = win32print.OpenPrinter('RICOH-LOCAL', PRINTER_DEFAULTS) 
properties = win32print.GetPrinter(pHandle, 2) #get the properties 
pDevModeObj = properties["pDevMode"] #get the devmode 
automaticTray = 7 
tray_one = 1 
tray_two = 3 
tray_three = 2 
printer_tray = [] 
pDevModeObj.DefaultSource = tray_three #set the tray 
properties["pDevMode"]=pDevModeObj #write the devmode back to properties 
win32print.SetPrinter(pHandle,2,properties,0) #save the properties to the printer 
  1. यह है कि, ट्रे बदल दिया गया है
  2. मुद्रण इंटरनेट एक्सप्लोरर (ग्राहम किंग के ब्लॉग से) का उपयोग कर पूरा किया है

    from win32com import client 
        import time 
        ie = client.Dispatch("InternetExplorer.Application") 
        def printPDFDocument(filename): 
         ie.Navigate(filename) 
         if ie.Busy: 
          time.sleep(1) 
         ie.Document.printAll() 
        ie.Quit() 
    

हो गया

1

जब से तुम दर्शाते हैं कि आप पीडीएफ के विशिष्ट पृष्ठों को चुनें और Acrobat Reader

उदाहरण का उपयोग करते हुए विशिष्ट डिब्बे के लिए उन्हें प्रिंट करना चाहते हैं वहाँ, कोई आसान तरीका यह करने के लिए है: लेटरहेड बिन 1, पृष्ठ 2 पर छापा पेज 1

आप फ्रीवेयर Ghostscript में परिवर्तन और आप क्या चाहते हैं कर सकता है: शेयर बिन पर 2

एक्रोबैट रीडर केवल कमांड लाइन से पूरे दस्तावेज़ के मुद्रण की अनुमति देता है।

या इस वाणिज्यिक उत्पाद को नौकरी करना चाहिए। PDFPrint


अधिक जानकारी के

के लिए पेज 24 पर एक्रोबैट रीडर developer FAQ देखें

AcroRd32.exe/टी पथ "printername" "drivername" "PORTNAME" - Adobe Reader शुरू करें और एक फ़ाइल को मुद्रित जबकि दबा प्रिंट संवाद बॉक्स। पथ पूरी तरह से निर्दिष्ट किया जाना चाहिए।

/टी विकल्प के चार पैरामीटर पथ, प्रिंटरनाम, drivername, और portname (सभी तारों) का मूल्यांकन करते हैं।

प्रिंटरनाम - आपके प्रिंटर का नाम।

drivername - आपके प्रिंटर ड्राइवर का नाम, जैसा कि यह आपके प्रिंटर के गुणों में दिखाई देता है।

पोर्टनाम - प्रिंटर का बंदरगाह। पोर्टनाम में शामिल नहीं हो सकता - आपके प्रिंटर ड्राइवर का नाम, जैसा कि यह आपके प्रिंटर के गुणों में दिखाई देता है।

पोर्टनाम - प्रिंटर का बंदरगाह। PORTNAME नहीं हो सकते

1

सादे PDF का उपयोग संभव नहीं है यही कारण है कि, जैसा कि आप किसी विशेष बिन और ट्रे संयोजन के लिए नए मुद्रण कार्य बनाने (और नहीं सभी प्रिंटर आप ऐसा करने की अनुमति, जेरोक्स 4x और डी पी सीरीज तुम क्या करने की अनुमति देता है ऐसी बातें)।

मेरी सर्वश्रेष्ठ शर्त पोस्टस्क्रिप्ट के साथ जुगल हो जाएगी: पीडीएफ को पोस्टस्क्रिप्ट में कनवर्ट करें, जहां आपके पास अलग-अलग पृष्ठों तक पहुंच है, फिर आपको आवश्यक पृष्ठों को निकालें और प्रत्येक ऐसे पृष्ठ (या पेज) के लिए नया प्रिंट जॉब बनाएं (उदाहरण के लिए। विंडोज का उपयोग करना कार्यक्रम lpr)। कार्य को कम करने के लिए, मैं बिन और ट्रे के किसी भी संयोजन के लिए प्रिंट कतार बनाउंगा जिसे आपको प्रिंट करना होगा, फिर इन कतारों को प्रिंटर के रूप में उपयोग करें।

0

आप पहले से ही एक Ricoh मशीन है, बस अपने आप को Ricoh प्रिंट & शेयर सॉफ्टवेयर मिलता है और वहाँ तुम क्या आप उपयोग करना चाहते ट्रे परिभाषित कर सकते हैं!

:

ये वीडियो आप कैसे Ricoh प्रिंट & शेयर सॉफ्टवेयर स्थापित करने के लिए दिखाने

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