2012-10-04 26 views
21

क्या सिस्टम परिभाषित प्रिंटर में पाठ (या यहां तक ​​कि पीएस/पीडीएफ) मुद्रित करने के लिए एक उचित मानक और पार मंच तरीका है?पायथन से मानक प्रिंटर पर प्रिंट करें?

CPython मानते हुए, जेथॉन और Java printing API का उपयोग करने जैसी कुछ चालाक नहीं है।

+0

आपका प्रिंटर प्रकार क्या है? यहां पीओएस प्रिंटर को प्रिंट करने के बारे में एक ट्यूटोरियल है http://goo.gl/rd8lm – Switch

+0

जावा प्रिंटिंग मानना ​​यह एक और "चालाक" समाधान कर सकता है जेपी टाइप (सीपीथॉन पाने के लिए एक तरीका और जेवीएम एक दूसरे पर संचार/रन कोड) –

उत्तर

21

दुर्भाग्य से, सभी प्लेटफ़ॉर्म पर पायथन का उपयोग करके प्रिंट करने का कोई मानक तरीका नहीं है। तो आपको प्रिंट करने के लिए अपना खुद का रैपर फ़ंक्शन लिखना होगा।

आप अपने कार्यक्रम detect the OS की जरूरत पर चल रहा है, तो:

लिनक्स के लिए -

import subprocess 
lpr = subprocess.Popen("/usr/bin/lpr", stdin=subprocess.PIPE) 
lpr.stdin.write(your_data_here) 

विंडोज के लिए: http://timgolden.me.uk/python/win32_how_do_i/print.html

अधिक संसाधन:

Print PDF document with python's win32print module?

How do I print to the OS's default printer in Python 3 (cross platform)?

6

नेटवर्क आप बंदरगाह पर एक नेटवर्क प्रिंटर के लिए सीधे एक PJL/PCL मुद्रण कार्य भेज सकते हैं 9100.

कृपया नीचे दिए गए लिंक है कि एक अच्छी शुरुआत देना चाहिए पर एक नजर है पर किसी भी प्रिंटर से प्रिंट करने के लिए:

http://frank.zinepal.com/printing-directly-to-a-network-printer

इसके अलावा

, अगर वहाँ विंडोज फोन करने के लिए एक तरह से आप एफ़टीपी 9100. लिंक नीचे पर अपना पृष्ठ प्रिंट करना आपको जानकारी देना चाहिए डाल उपयोग कर सकते हैं अध्यक्ष एवं प्रबंध निदेशक है, मैं HP प्रिंटर के लिए इस विधि का इस्तेमाल किया है, लेकिन मेरा मानना ​​है कि यह अन्य प्रिंटर के लिए काम करेगा।

http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpj06165

19

यह केवल Windows पर परीक्षण किया गया:

आप निम्न कर सकते हैं: क्रिया के साथ, उसके डिफ़ॉल्ट सलामी बल्लेबाज में

import os 

os.startfile("C:/Users/TestFile.txt", "print") 

इस फ़ाइल में शुरू कर देंगे, 'प्रिंट ', जो आपके डिफ़ॉल्ट प्रिंटर पर प्रिंट करेगा। केवल os मॉड्यूल की आवश्यकता है जो मानक लाइब्रेरी

+0

https://docs.python.org/2/library/os.html#os.startfile के अनुसार यह केवल विंडोज – Buzz

1

के साथ आता है Wx पुस्तकालय का प्रयास करें। यह एक क्रॉस प्लेटफॉर्म यूआई लाइब्रेरी है। यहां आप प्रिंटिंग ट्यूटोरियल पा सकते हैं: http://wiki.wxpython.org/Printing

+0

पर काम करता है यह बहुत ही आशाजनक है! मैं अजगर + प्रिंटिंग के साथ काम नहीं करता हूं, लेकिन प्रिंटिंग राक्षस रूप से wxpython के साथ क्रॉस प्लेटफार्म काम करता है, तो मैं इस जवाब को स्वीकार करूंगा। –