Über WordPad drucken

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.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Ich möchte gerne RTF ausdrucken. Ich denke das einfachste wird sein das über WordPad zu machen, oder noch besser mit den Standart Programm für ".rtf".

Da mein Programm (Pyedit) eh für Windows gedacht ist müsste das ja kein Problem sein.

Das es geht weis ich nur wie...

Gruß
Andyh
Zuletzt geändert von Andyh am Montag 1. Dezember 2008, 16:47, insgesamt 1-mal geändert.
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich verstehe jetzt überhaupt nicht, was Du machen willst und wo Dein Problem liegt!

Versuche das doch mal anders zu beschreiben.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Wenn ich in Explorer eine ".rtf" rechts anklicke kommt ja des Kontextmenü.
im Kontextmenü selber gibt es den Punkt "Drucken" und wenn ich da drauf klicke wird das Dokument ausgedruckt.

Genau das möchte ich auch machen, nur aus einer Python Programm heraus.

Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Birne94
User
Beiträge: 90
Registriert: Freitag 28. November 2008, 15:18
Kontaktdaten:

abgdf hat geschrieben:Vielleicht mit win32com. Oder

http://timgolden.me.uk/python/win32_how_do_i/print.html

Viele Grüße
Andyh hat geschrieben:Da mein Programm (Pyedit) eh nich für Windows gedacht ist müsste das ja kein Problem sein.
wiederspricht sich imo^^
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

WordPad und "nicht für Windows" auch, von dem her...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Andyh hat geschrieben:Genau das möchte ich auch machen, nur aus einer Python Programm heraus.
Falls es auch hierbei um deinen Tkinter-Editor geht: Mit dem Drucken sieht es da nicht besonders gut aus.

Du kannst es so machen wie in IDLE - sieh dir dazu mal den IDLE Quelltext an - aber das ist nicht besonders komfortabel.

Oder du schreibst deinen Text in ein Tkinter-Canvas und machst ein Postscript-Dokument daraus ... :D

Oder du verwendest das reportlab-Modul und machst ein PDF-Dokument daraus.

Oder du wandelst den Editorinhalt - mit dem ganzen Highlighting - ins RTF-Format um und speicherst es als rtf-Datei. Dann kannst du darauf ja mit Rechtsklick ... du weißt schon :D
DeJe
User
Beiträge: 39
Registriert: Sonntag 23. November 2008, 19:38

Vielleicht solltest du etwas genauer sagen wo du was vorhast.
Da mir Pyedit absolut nix sagt, habe ich mal google bemüht:
http://www.google.de/search?q=pyedit&ie ... =firefox-a
Hm, ein Symbian-Programm? Was willst du da mit WordPad? Drucken? ...
Irgendwie verwirrend. ;)

Versuche doch rauszubekommen ob das von dir verwendete GUI-Toolkit (TKinter, wxPython, ...) standardisierte Druckdialoge zur Verfügung stellt. Und wenn nicht suchst du dir ein passendes Modul/Paket.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

DeJe hat geschrieben:Vielleicht solltest du etwas genauer sagen wo du was vorhast.
Da mir Pyedit absolut nix sagt, habe ich mal google bemüht:
Pyedit dürfte der von Andyh für seine Eigenentwicklung gewählte Name sein ... :wink:

Dann dürfte es die Tkinter-Anwendung sein, zu der er im Forum schon andere Fragen gestellt hat. Und dann sieht es mit dem Drucken eben nicht so gut aus ...
DeJe
User
Beiträge: 39
Registriert: Sonntag 23. November 2008, 19:38

numerix hat geschrieben:
DeJe hat geschrieben:Vielleicht solltest du etwas genauer sagen wo du was vorhast.
Da mir Pyedit absolut nix sagt, habe ich mal google bemüht:
Pyedit dürfte der von Andyh für seine Eigenentwicklung gewählte Name sein ... :wink:
Ja, ich dachte mir schon das es sich *nicht* um diesen Sybian-Editor handelt. ;)
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

@Alle:
Tschuldigung in meiner ersten nachricht ich ein "nich" reichgerutscht.

Es ist natürlich für Windows.

Mit win32api geht es so wich ich das sehe nicht
Mit win32print auch nicht

win32com muss ich mal anschauhen.

Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

####Problem gelöst####
Ich habe das Tsndart Programm für -rtf auf Word gestetz und dann wieder auf WordPad jetzt gehts.

@abgdf
Danke für den Link

so müsste es gehen:

Code: Alles auswählen

import tempfile
import win32api

filename = tempfile.mktemp (".rtf")
#filename = "F:\\Andy\\Eigener Grust\\meine sachen\\Dokument.rtf"
open (filename, "w")

win32api.ShellExecute (
    0,
    "print",
    filename,
    None,
    ".",
    0
)
#filename.close()

Das so wies jetzt aussieht geht es, wenn ich in den temp_Datei noch was reinschreibe kommt es aber nicht als .rtf aus den drucken:

{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\colortbl ;\red255\green0\blue0;}
{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\cf1\f0\fs32 Hallo\cf0\fs20\par
}

Das gibt Rotes "Hallo", wird aber so gedruckt, obwohl WordPad es ausdruckt. Ich denke das Problem liegt an der temp-datei.

Wenn ich den normalen pfad einblende kommt:

Code: Alles auswählen


Traceback (most recent call last):
  File "C:\Python25\drucken2.py", line 21, in <module>
    0
error: (31, 'ShellExecute', 'Ein an das System angeschlossenes Ger\xe4t funktioniert nicht.')
Was ist an:
filename = "F:\\Andy\\Eigener Grust\\meine sachen\\Dokument.rtf"

anderst als an:
filename = tempfile.mktemp (".rtf")

der pfad sieht anders aus, müsste aber trozdem bei beiden gehen?
c:\dokume~1\andy\lokale~1\temp\tmpphfvwp.rtf
F:\Andy\Eigener Grust\meine sachen\Dokument.rtf

gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Andyh hat geschrieben: ####Problem gelöst####
Ich habe das Tsndart Programm für -rtf auf Word gestetz und dann wieder auf WordPad jetzt gehts.
:?: :?: :?:
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Probier doch mal

Code: Alles auswählen

ret = subprocess.Call(['wordpad.exe', '/p', 'DeinText.rtf'])
MfG
HWK
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

HWK hat geschrieben:

Code: Alles auswählen

ret = subprocess.Call(['wordpad.exe', '/p', 'DeinText.rtf'])
Hallo!
Bei mir, unter WindowsXP, müsste der Aufruf so lauten:

Code: Alles auswählen

ret = subprocess.call(['write.exe', '/p', r'J:\Dokumente und Einstellungen\Gerold\Desktop\Beispiel.rtf'])
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Hallo

Danke ihr beiden, das geht auch!!!

Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

@Gerold: Worauf willst Du hinaus? 'write' statt 'wordpad'? Bei mir ebenfalls unter XP funktioniert auch 'wordpad'. Oder der komplette Pfad der RTF-Datei? 'DeinText.rtf' bei mir war ja nur als Platzhalter gedacht.
MfG
HWK
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

HWK hat geschrieben:'write' statt 'wordpad'?
Hallo HWK!

Ja! Ich glaubte, dass "wordpad.exe" nicht funktioniert, da es diese Datei bei mir nur im Ordner *J:\WINDOWS\ServicePackFiles\i386* gibt. Ich habe Windows XP SP3 installiert. Es funktioniert aber auch mit "wordpad.exe". Im System32-Ordner liegt nur die Datei "write.exe", weshalb ich ein wenig verunsichert bin.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Ich glaube, das "Original-Programm" ist wordpad.exe. Das liegt bei mir in C:\Programme\Windows NT\Zubehör\ und ist 211 KB groß. write.exe in system32 ist lediglich 6 KB groß und lenkt wohl nur auf Wordpad um.
MfG
HWK
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wobei das Programm in system32 aufzurufen den Vorteil hat, dass system32 im %PATH% ist und man so keine Installations- und Locale-spezifischen Pfade nutzen muss.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten