Seite 1 von 1

einfach auf Drucker ausgeben

Verfasst: Freitag 23. Januar 2004, 12:30
von 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

Re: einfach auf Drucker ausgeben

Verfasst: Freitag 23. Januar 2004, 13:55
von Voges
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

einfach auf Drucker ausgeben

Verfasst: Freitag 23. Januar 2004, 16:32
von 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ß

Verfasst: Freitag 23. Januar 2004, 16:54
von Dookie
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

Re: einfach auf Drucker ausgeben

Verfasst: Freitag 23. Januar 2004, 16:56
von Voges
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/

Datei drucken

Verfasst: Mittwoch 11. Februar 2004, 10:46
von docsnyder
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