Wydrukować na standardowej drukarce z Pythona?
Czy istnieje dość standardowy i wieloplatformowy sposób drukowania tekstu (lub nawet PS/PDF) na drukarce zdefiniowanej w systemie?
Zakładając CPython tutaj, nie jest to coś sprytnego, jak użycie Jython i Java printing API .
4 answers
Niestety, nie ma standardowego sposobu drukowania za pomocą Pythona na wszystkich platformach. Więc będziesz musiał napisać własną funkcję owijania do wydrukowania.
Musisz wykryć system operacyjny Twój program jest uruchomiony, a następnie:
Dla Linuksa -
import subprocess
lpr = subprocess.Popen("/usr/bin/lpr", stdin=subprocess.PIPE)
lpr.stdin.write(your_data_here)
Dla Windows: http://timgolden.me.uk/python/win32_how_do_i/print.html
Więcej zasobów:
Wydrukować dokument PDF za pomocą modułu win32print w Pythonie?
Jak wydrukować do systemu operacyjnego domyślna drukarka w Pythonie 3 (cross platform)?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:23
To zostało przetestowane tylko na Windows:
Możesz wykonać następujące czynności:
import os
os.startfile("C:/Users/TestFile.txt", "print")
Spowoduje to uruchomienie pliku w domyślnym otwierającym czasowniku 'print', który zostanie wydrukowany na domyślnej drukarce.Wymaga tylko modułu os
dostarczanego z biblioteką standardową
Aby wydrukować na dowolnej drukarce w sieci, można wysłać zadanie drukowania PJL/PCL bezpośrednio do drukarki sieciowej na porcie 9100.
Proszę spojrzeć na poniższy link, który powinien dać dobry początek:
Http://frank.zinepal.com/printing-directly-to-a-network-printer
Ponadto, jeśli istnieje sposób na wywołanie Windows cmd, możesz użyć FTP put, aby wydrukować swoją stronę na 9100. Poniżej link powinien podać szczegóły, użyłem tej metody do drukarek HP, ale wierzę, że będzie działać dla inne drukarki.
Http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpj06165
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-04 11:21:02
Możesz wypróbować bibliotekę wx. To wieloplatformowa biblioteka interfejsu użytkownika. Tutaj znajdziesz samouczek drukowania: http://wiki.wxpython.org/Printing
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-06 00:40:26