einfach auf Drucker ausgeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Gast

Hallo,
ich habe mir ein kleines Script geschrieben in dem ich schnell einige Abfragen und Berechnungen durchführen kann.
Wie kann ich diese einfachen Texte unkompliziert auf dem Drucker ausgeben ( Linux u. Windows ) ??

im voraus besten Dank
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hallo!
Das Unkomplizierteste aus Programmierersicht dürfte sein, die Daten zuerst in eine Datei zu schreiben (entweder über Standardausgabe/Umleiten oder durch direktes Schreiben in eine Datei) und diese Datei dann zu drucken (z.B. via lpr, Editor, Textverarbeitung etc.).
Jan
Gast

das ist für den Benutzer aber die komplizierteste Variante !
Ich versuch es gerade über Tk mit Canvas. Funktioniert leider auch nur über -> in Datei speichern -> dann ausdrucken !
Es muß etwas besserer geben !

Gruß
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Leider wird der Drucker von Windows und Unix/Linux total unterschiedlich angesprochen.
Unter Linux lass ich das Pythonprogramm entweder eine Text oder gleich eine Postscriptdatei erstellen und lass die dann über lpr ausdrucken. Unter Windows - keine Ahnung ;)
Aber hier gibts vielleicht eine Lösung -> http://www.way2python.de/unsortiert/textfile.html


Gruß

Dookie
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Gast hat geschrieben:Es muß etwas besserer geben !Gruß
Über die Windows Extensions [1] steht Dir praktisch die gesamte Win-Api zur Verfügung plus der MFC. Folgendes Script (aus [2]) druckt z.B. den Text "Python Prints!" auf den Standarddrucker:

Code: Alles auswählen

import win32ui
dc = win32ui.CreateDC()
dc.CreatePrinterDC()
dc.StartDoc("My Python Document")
dc.StartPage()
dc.TextOut(100,100,'Python prints!')
dc.EndPage()
dc.EndDoc()
Unter Unix dürfte ja das Drucken direkt aus dem Script gar kein Problem sein, hab' aber da keine Erfahrung.
Andere Möglichkeit: Du erzeugst zuerst PDF-Dateien z.B. mit PIDDLE [3] und druckst die dann. Das geht vielleicht auch so, das der Anwender über den Umweg über PDF nichts merkt.

Jan

[1] http://starship.python.net/crew/mhammon ... loads.html
[2] http://www.oreilly.com/catalog/pythonwin32/
[3] http://piddle.sourceforge.net/
docsnyder
User
Beiträge: 7
Registriert: Freitag 12. Dezember 2003, 07:56
Wohnort: Linden/Hess.

Notgedrungen musste ich mich in den letzten Tagen auch ums Thema Drucker mit Python kuemmern.

Die Beitraege hier im Forum waren dazu ein guter Einstieg. Die optimale Loesung fuer mich habe ich dann als fertiges Skript pytext2pdf.py gefunden [http://members.lycos.co.uk/anandpillai/]. Es erzeugt aus einer Textdatei eine .pdf-Datei, mit diversen Optionen, z.B. A4 quer, Fonts, Anzahl Spalten einstellbar...

Das brauchte ich nur noch dahingehend anpassen, dass ich es aus einem Programm aufrufen kann, und dabei die Optionen als Argument uebergebe. Und da die Kollegen mit Win arbeiten, passt dazu gut startfile(r"xyz.pdf") ... , was deren Acroreader mit der Datei gleich startet

Vielleicht hilft es ...

mfg
docsnyder
Antworten