SimpleWinPrint.py (von Gerold)
Win32Print (aus Standard Biliothek)
- Hallo ich kann mit win32print schon gut drucken alles kein Problem (Habe mir auch SimpleWinPrint.py angeschaut). Ich komme jedoch nicht weiter beim ändern der Einstellungen wie Hochkant und Quer sowie die Größe: A4, A3, A2, A1 oder A0.
- Dank PIL kann ich die Größe meiner TIF Datein heraus finden und auch von A3 auf A4 konvertieren o.ä. falls nötig.
Nur ich komme nicht über A4 Hochkant hinweg.
Kann ich das mit win32print lösen? A3, Quer z.B
Kann ich die PIL zum drucken von Bildern verwenden?
Oder andere Module?
Bitte Hinweise, Ideen, weiter führende Links. Danke
PS.: Beim Drucken geht es nur um Bilddateien (erstmal zumindestens)
SimpleWinPrint.py und Win32Print
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
win32print ist übrigens nicht in der stdlib, das gehört nämlich zu pywin32. Zum angenehmen Drucken solltest du dir die Druckfunktionen von wxPython ansehen, da ist vermutlich eher was interessantes für dich dabei als in pywin32 - so wie ich die WinAPI kenne.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Mit wxPython kann ichs drucken, habe nur ein Problem das ich nicht die Eigenschaften voreinstellen kann.
Ich möchte aber unbedingt alles voreinstellen damit der user sich die zeit spart. Die Daten habe ich schon vorliegen.
Gibts dazu Ideen?
wxPython Drucken aus dem Wiki:
http://wiki.wxpython.org/index.cgi/Prin ... rinting%29
Ich möchte aber unbedingt alles voreinstellen damit der user sich die zeit spart. Die Daten habe ich schon vorliegen.
Gibts dazu Ideen?
wxPython Drucken aus dem Wiki:
http://wiki.wxpython.org/index.cgi/Prin ... rinting%29
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Ich habe gearde etwas gefunden um unter Windows (scheinbar) perfekt drucken zu können folgende Seite beschäftigt sich mit der WinAPI.
http://tgolden.sc.sabren.com/python/win ... print.html
Ich poste das falls jemand einmal die Forum suche benutzt und damit ich wenn ich nachhause komme selber den Link noch finde
Viele Grüße von der Arbeit aus
http://tgolden.sc.sabren.com/python/win ... print.html
Ich poste das falls jemand einmal die Forum suche benutzt und damit ich wenn ich nachhause komme selber den Link noch finde
Viele Grüße von der Arbeit aus
dann mal gleich ein Primitives beispiel mit Tkinter
Code: Alles auswählen
import tempfile
import win32api
import Tkinter as tk
import time
import sys
NAME = 'Mustermann'
VORNAME = 'Max'
STRASSE = 'Muster-Str. 23/5'
PLZ = '101010'
ORT = 'Musterort'
OBEN = '='*30
UNTEN = '='*30
text='''
%s
= Meine Adresse:\n=
= %s %s
= %s
= %s
= %s
%s\n\n\n\n\n
%s
''' % ( OBEN, NAME, VORNAME, STRASSE, PLZ, ORT, UNTEN ,time.ctime())
mfont= ('arial',25, 'bold')
class PrintFile:
def onPrintFile(self):
filename = tempfile.mktemp('tkp.txt')
open(filename, 'w').write(text)
win32api.ShellExecute(0, "print", filename, None, ".", 0)
class tkApp:
def __init__(self, master):
self.master=master
self.printer = PrintFile()
tk.Button(self.master,
text='OnPrint',
font=mfont,
command=self.OnPrint).pack(side=tk.LEFT,
expand=tk.YES,
fill=tk.BOTH, padx=20, pady=20)
tk.Button(self.master, text='OnClose', font=mfont,
command=self.OnClose).pack(side=tk.LEFT,
fill=tk.BOTH, expand=tk.YES, padx=20, pady=20)
def OnPrint(self):
self.printer.onPrintFile()
def OnClose(self):
sys.exit()
def _main():
root = tk.Tk()
root.geometry('550x200')
app = tkApp(root)
root.mainloop()
if __name__=='__main__':
_main()
-
- User
- Beiträge: 4
- Registriert: Dienstag 6. Juli 2021, 11:02
Moin nach 14 Jahren habe ich das gleiche Anliegen. Das drucken mit Din A6 möchte ich. Nun bin schon seit einem Monat dran.
Habe hier auch schon einen Post dazu gemacht. viewtopic.php?f=1&t=52486
devmode = win32print.GetPrinter(hprinter, 2)["pDevMode"]
devmode.PaperSize = win32con.DMPAPER_A4 ###Genau das hat mir gefehlt
# 1 = portrait, 2 = landscape
Dachte etwas gefunden zu haben aber war nichts bzw. noch zu hoch für mich.
Da kommen dann Fehlermeldungen. Aber kann auch bei mir der Fehler sein.
Bin noch Anfänger. Gibt es im Jahr 2021 schon eine Lösung dafür oder wurde das Problem anders gelöst?
Habe hier auch schon einen Post dazu gemacht. viewtopic.php?f=1&t=52486
devmode = win32print.GetPrinter(hprinter, 2)["pDevMode"]
devmode.PaperSize = win32con.DMPAPER_A4 ###Genau das hat mir gefehlt
# 1 = portrait, 2 = landscape
Dachte etwas gefunden zu haben aber war nichts bzw. noch zu hoch für mich.
Da kommen dann Fehlermeldungen. Aber kann auch bei mir der Fehler sein.
Bin noch Anfänger. Gibt es im Jahr 2021 schon eine Lösung dafür oder wurde das Problem anders gelöst?