Seite 1 von 2

Verfasst: Mittwoch 4. Mai 2005, 14:20
von gerold
Patrick hat geschrieben: Gibt es eine Moeglichkeit, vor dem Druck den zu benutzenden Drucker auszuwaehlen?
Hi Patrick!

Du kannst den Druckernamen beim Initialisieren der Klasse Printer übergeben. Das ist allerdings alles was derzeit möglich ist.

Den Drucker-Auswahldialog von Windows kann ich leider nicht auf die Schnelle einbinden. Da habe ich im Moment noch zu wenig Informationen darüber, wie man so etwas machen kann.

Vielleicht hat jemand von euch einen Hinweis für mich.

lg
Gerold
:-)

Verfasst: Freitag 6. Mai 2005, 09:47
von Patrick
Hab ich doch einen Beitrag vor dir. :lol:

Verfasst: Freitag 6. Mai 2005, 10:14
von gerold
Patrick hat geschrieben:Hab ich doch einen Beitrag vor dir. :lol:
Hi Patrick!

Diesen Beitrag habe ich doch glatt übersehen. :oops:
Das mit der CLR kenne ich noch nicht. Mal sehen wie das mit .NET funktioniert...
Ich muss noch raus finden, ob das nur als Notlösung zu gebrauchen ist, oder ob ich damit rechnen kann, dass auf den meisten Computern .NET installiert ist. Wenn JA, dann eröffnen sich zusätzliche Möglichkeiten mit Python.
Obwohl die Einführung von .NET einer der Gründe war, warum ich zu Python wechselte.

lg
Gerold
:-)

Verfasst: Freitag 6. Mai 2005, 11:45
von Leonidas
gerold hat geschrieben:Ich muss noch raus finden, ob das nur als Notlösung zu gebrauchen ist, oder ob ich damit rechnen kann, dass auf den meisten Computern .NET installiert ist. Wenn JA, dann eröffnen sich zusätzliche Möglichkeiten mit Python.
Obwohl die Einführung von .NET einer der Gründe war, warum ich zu Python wechselte.
Also auf meiner Kiste ist grad gar keine CLR installiert. Die 1.1 Runtime habe ich deinstalliert, da ich das SDK installieren wollte, ich dieses aber gerade nicht habe. Sonst habe ich noch Mono 1.0.6 und Mono 1.1.6, aber keines von beiden installiert.

Verfasst: Freitag 6. Mai 2005, 12:43
von gerold
Leonidas hat geschrieben: Also auf meiner Kiste ist grad gar keine CLR installiert.
Hi!
Bei mir ist zwar .NET installiert, aber ich bekomme PythonNet nicht in Verbindung mit dem installierten Python zum Laufen. Kopiere ich, wie im Readme-File von PythonNet beschrieben, die beiden DLL's Python.Runtime.dll und CLR.dll in den Python-Ordner, dann stürzt Pythonwin.exe schon beim Importieren von CLR ab und python.exe kennt den Befehl "help()" nicht mehr. :?

Das ist aber kein Problem für mich! Es scheint im Moment so, dass die Sache noch nicht ausgereift genug ist, und deshalb suche ich nach einer anderen Lösung.

lg
Gerold
:-)

Verfasst: Montag 9. Mai 2005, 08:22
von Patrick
Also bei mir funktioniert das ziemlich gut. Bis auf die Tatsache, dass man eben hoellisch beim Verwenden von .NET Objekten aufpassen muss, da man natuerlich auch deren Fehler importiert. ;-)

Bekannte Probleme: Handle-Freigabe, Speicherprobleme

Verfasst: Montag 9. Mai 2005, 12:27
von Leonidas
Welche Python.NET Version hast du denn gerold? Heute habe ich in der Mailingliste gelesen, dass 1.0 RC1 rausgekommen ist. Versuchs doch mal damit..

Verfasst: Dienstag 10. Mai 2005, 09:04
von gerold
Leonidas hat geschrieben: Heute habe ich in der Mailingliste gelesen, dass 1.0 RC1 rausgekommen ist.
Hi Leonidas!

Werde ich mir ansehen. Danke für den Hinweis.

lg
Gerold
:-)

drucken einer Datei

Verfasst: Donnerstag 26. Mai 2005, 10:47
von be_veronic
Hi Gerold,

Ich möchte deinen Skript für drucken einer Text Datei benutzen.Ich lese vom Datei Zeile für Zeile mache ein String und verwende dann print_rawtext.
Aber als neue Zeile bekommen ich nur ein komisches Symbol .

Kannst du mir helfen?
Danke.
Vero

Re: drucken einer Datei

Verfasst: Donnerstag 26. Mai 2005, 18:41
von gerold
be_veronic hat geschrieben: Ich möchte deinen Skript für drucken einer Text Datei benutzen.Ich lese vom Datei Zeile für Zeile mache ein String und verwende dann print_rawtext. Aber als neue Zeile bekommen ich nur ein komisches Symbol .
Hi Vero!

Verwende print_rawtext nur dann, wenn du mit dem Text auch Sonderkommandos (z.B. Kassenschublade öffnen oder Papier abschneiden) an den Drucker schicken möchtest.

Am besten wird wohl sein, wenn du einfach mal probierst, ob der Ausdruck funktioniert.

Code: Alles auswählen

>>> import simplewinprint
>>> p = simplewinprint.Printer()
>>> p.startdoc()
>>> p.print_textblock("Hallo Welt Zeile 1.")
>>> p.print_textblock("Hallo Welt Zeile 2.")
>>> p.enddoc()
>>> 
Bei diesem Test muss der Standarddrucker zwei Zeilen ausdrucken.

Hier noch ein Beispiel:
http://www.python-forum.de/viewtopic.php?p=18401#18401

mfg
Gerold
:-)

Verfasst: Donnerstag 26. Mai 2005, 20:53
von be_veronic
Hi Gerold,

Mein Problem ist wenn ich 'white spaces' Anfang der Zeile habe, die sind nicht anerkannt.

Die Zeilen fangen trozdem vom linke Seite an,und die leere Zeichen sind ignoriert.
Danke im voraus. :)
Vero

Verfasst: Donnerstag 26. Mai 2005, 21:47
von gerold
be_veronic hat geschrieben: Die Zeilen fangen trozdem vom linke Seite an,und die leere Zeichen sind ignoriert.
Hi Vero!

Du hast einen Bug entdeckt :shock: :shock:
Ich habe eine zusätzliche Prüfung einprogrammiert. Die neue Version steht ab sofort zur Verfügung :o

mfg
Gerold
:-)

Verfasst: Freitag 27. Mai 2005, 07:43
von be_veronic
Hallo Gerold,

Danke für deiner prompt Antwort.Jetzt macht er den 'indentation' aber nicht ganz korrekt.Für deinen Beispiel ich fange mit der Hallo Welt Zeile 2 wo 'o' von Hallo Welt Zeile 1 ist aber die fängt schon unter den erste 'l'an.

Ich wurde dir dankbar wenn du das regeln konntest.
Gruss,
Vero

Verfasst: Freitag 27. Mai 2005, 08:05
von gerold
be_veronic hat geschrieben: Danke für deiner prompt Antwort.Jetzt macht er den 'indentation' aber nicht ganz korrekt.Für deinen Beispiel ich fange mit der Hallo Welt Zeile 2 wo 'o' von Hallo Welt Zeile 1 ist aber die fängt schon unter den erste 'l'an.
Hi Vero!

Jetzt langsam wird es schwierig, deinen Ausführungen zu folgen. Bitte sei mir für diese Aussage nicht böse. Auch wenn es schwierig sein kann, bitte versuche dein Deutsch ein wenig aufzubessern. :roll:

Und jetzt zu deinem Problem. Es klingt so, als ob du eine proportionale Schrift, wie z.B. Arial oder Times New Roman einsetzt. Diese Schriften zeichnen sich dadurch aus, dass sie verschiedene Breiten pro Zeichen verwenden. Ein "W" verbraucht also mehr Platz als ein "I". Wenn du möchtest, dass jedes Zeichen exakt die gleiche Breite verwendet, dann musst du eine nicht proportionale Schrift wie z. B. Courier New oder Fixedsys verwenden.

Die Standardschrift stellst du so ein:

Code: Alles auswählen

>>> p.default_font_name = "Courier New"
>>> p.default_font_size = "11"
mfg
Gerold
:-)

Verfasst: Freitag 27. Mai 2005, 08:48
von be_veronic
Hi Gerold,

Danke für deine Vorschläge, as hat bei mir geklappt.Ich finde deiner Skript sehr nutzbar.

Ich bin dir nicht böse,ich arbeite an meinem Deutsch :oops:

Gruss,
Vero