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
Über WordPad drucken
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]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
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
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]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
abgdf hat geschrieben:Vielleicht mit win32com. Oder
http://timgolden.me.uk/python/win32_how_do_i/print.html
Viele Grüße
wiederspricht sich imo^^Andyh hat geschrieben:Da mein Programm (Pyedit) eh nich für Windows gedacht ist müsste das ja kein Problem sein.
Falls es auch hierbei um deinen Tkinter-Editor geht: Mit dem Drucken sieht es da nicht besonders gut aus.Andyh hat geschrieben:Genau das möchte ich auch machen, nur aus einer Python Programm heraus.
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 ...
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
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.
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.
Pyedit dürfte der von Andyh für seine Eigenentwicklung gewählte Name sein ...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:
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 ...
Ja, ich dachte mir schon das es sich *nicht* um diesen Sybian-Editor handelt.numerix hat geschrieben:Pyedit dürfte der von Andyh für seine Eigenentwicklung gewählte Name sein ...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:
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
@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]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
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:
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:
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
####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()
{\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.')
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]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Probier doch malMfG
HWK
Code: Alles auswählen
ret = subprocess.Call(['wordpad.exe', '/p', 'DeinText.rtf'])
HWK
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo!HWK hat geschrieben:Code: Alles auswählen
ret = subprocess.Call(['wordpad.exe', '/p', 'DeinText.rtf'])
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'])
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Hallo
Danke ihr beiden, das geht auch!!!
Gruß
Andyh
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]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo HWK!HWK hat geschrieben:'write' statt 'wordpad'?
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.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- 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