Seite 1 von 2

Über WordPad drucken

Verfasst: Sonntag 30. November 2008, 19:27
von Andyh
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

Verfasst: Sonntag 30. November 2008, 19:44
von Hyperion
Ich verstehe jetzt überhaupt nicht, was Du machen willst und wo Dein Problem liegt!

Versuche das doch mal anders zu beschreiben.

Verfasst: Sonntag 30. November 2008, 19:49
von Andyh
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

Verfasst: Sonntag 30. November 2008, 20:19
von abgdf
Vielleicht mit win32com. Oder

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

Viele Grüße

Verfasst: Sonntag 30. November 2008, 20:28
von Birne94
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^^

Verfasst: Sonntag 30. November 2008, 20:43
von Leonidas
WordPad und "nicht für Windows" auch, von dem her...

Verfasst: Sonntag 30. November 2008, 20:44
von numerix
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

Verfasst: Sonntag 30. November 2008, 20:52
von DeJe
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.

Verfasst: Sonntag 30. November 2008, 21:35
von numerix
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 ...

Verfasst: Sonntag 30. November 2008, 21:45
von DeJe
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. ;)

Verfasst: Montag 1. Dezember 2008, 16:50
von Andyh
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

Verfasst: Montag 1. Dezember 2008, 17:23
von Andyh
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

Verfasst: Montag 1. Dezember 2008, 19:34
von numerix
Andyh hat geschrieben: ####Problem gelöst####
Ich habe das Tsndart Programm für -rtf auf Word gestetz und dann wieder auf WordPad jetzt gehts.
:?: :?: :?:

Verfasst: Dienstag 2. Dezember 2008, 13:24
von HWK
Probier doch mal

Code: Alles auswählen

ret = subprocess.Call(['wordpad.exe', '/p', 'DeinText.rtf'])
MfG
HWK

Verfasst: Dienstag 2. Dezember 2008, 14:11
von gerold
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
:-)

Verfasst: Dienstag 2. Dezember 2008, 18:07
von Andyh
Hallo

Danke ihr beiden, das geht auch!!!

Gruß
Andyh

Verfasst: Mittwoch 3. Dezember 2008, 13:10
von HWK
@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

Verfasst: Mittwoch 3. Dezember 2008, 14:43
von gerold
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
:-)

Verfasst: Mittwoch 3. Dezember 2008, 15:14
von HWK
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

Verfasst: Mittwoch 3. Dezember 2008, 15:41
von Leonidas
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.