Drucken aus einer Tkinter - Anwendung unter Windows

Fragen zu Tkinter.
jochim
User
Beiträge: 32
Registriert: Montag 5. August 2002, 20:47
Wohnort: Dortmund

Drucken aus einer Tkinter - Anwendung unter Windows

Beitragvon jochim » Mittwoch 19. Februar 2003, 16:03

Hi @ll,

ich würde gerne aus einer Tkinter - Anwendung heraus eine Datei an den Systemdrucker( Lokaler Anschluß, kein Netz, Windows als Betriebssystem) schicken. Dazu habe ich mit einem Canvas über die Postscript Funktion eine Postscript Datei erstellt.
Meine Frage:
Wie kann ich eine Ps Datei aus Tkinter heraus an den Drucker senden ohne externe Programme wie z. B. Ghostscript zusätzlich aufrufen zu müssen,
Also z. B. mittels eines Buttons meinen Canvasinhalt an den Drucker senden?

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

Re: Drucken aus einer Tkinter - Anwendung unter Windows

Beitragvon Voges » Mittwoch 19. Februar 2003, 18:01

Hallo!

Meine Überlegungen (keine eigene Erfahrung mit PS unter Windows):
Die Canvas-Methode Postscript() gibt wohl, wenn kein Parameter angegeben wird, den PS-Code zurück und der müsste dann 'raw' an den Drucker geschickt werden. Wenns nur Windows sein muss, könnte das Modul win32print [1] weiterhelfen. Mal völlig ins Blaue gecodet:

import win32print
...
ps_buf = canvas.Postscript()

defaultPrinter=win32print.GetDefaultPrinter()
printer = win32print.OpenPrinter(defaultPrinter)
win32print.StartDocPrinter( ... )
win32print.WritePrinter(printer,ps_buf)
win32print.EndDocPrinter(printer)
win32print.ClosePrinter(printer)


Kannst ja mal nach einigen der Begriffe googlen, dann findest Du lauffähigere Code-Beispiele. Das Ganze funktioniert aber natürlich nur, wenn der Drucker auch PostScript versteht.

Jan

[1] Teil der "Windows Extentions". Bei ActivePython schon drin, sonst unter http://starship.python.net/crew/mhammond/ downloadbar.
jochim
User
Beiträge: 32
Registriert: Montag 5. August 2002, 20:47
Wohnort: Dortmund

Beitragvon jochim » Mittwoch 19. Februar 2003, 19:55

Hallo Voges,

erstmal Danke, dieser Code hilft weiter, genauer gesagt, der Ausdruck auf einen PS Printer funktioniert. Was mir jetzt noch fehlt ist eine Idee oder Möglichkeit mein PS File zu konvertieren um auch jeden X beliebigen GDI Drucker unter Wibdoof ansprechen zu können. Ich bin für jede Idee dankbar.

Gruß
Jochim
Ralf

Beitragvon Ralf » Freitag 14. März 2003, 13:17

Hallo Jochim,

um Ghostscript wirst du da nicht drumrum kommen.
Allerdings kannst du mit dem Zusatz-Proggi "redmon", was es auf http://www.cs.wisc.edu/~ghost/redmon/index.htm gibt, einen virtuellen Drucker einrichten.
Der wird dann wie ein "echter" angesprochen und leitet dann das Ergebnis von ghostscript an deinen GDI-Drucker weiter.

Ralf

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder