Python automatisches drucker AdvancedDocumentOptions

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.
Antworten
BenKo
User
Beiträge: 1
Registriert: Donnerstag 20. November 2014, 15:49

Liebes Forum, alle die dies lesen,

ich benötige eure Hilfe oder einen Denkanstoß, ich habe ein Python Skript (Windows) geschrieben was ein Verzeichnis ausliest und entsprechend die Bilder mit den passenden Größen an einen lokalen (USB) Fotodrucker schickt. Das klappt soweit Problemlos (Bild einpassen, Papiergröße, etc.)

Jetzt gibt es bei dem Drucker (Thermosub) eine Spezielle Funktion, diese "mattiert" das Bild, diese Funktion kann man in Windows in den AdvancedDocumentsOptions ändern.

Bild
https://www.dropbox.com/s/c8jcilp2rnl8f ... r.png?dl=0

Wenn ich mir die Daten des Druckers in pDevMode anschaue sehe ich auch im Wert "DriverData" diese Option innerhalb diesem binären Wert OVERCOATTYPE

Code: Alles auswählen

PrivData        DINU" 8?ö?| Û
DZ                            ?           ? ?





                                                                  ?
                              8?  SMTJ    ? (?D S - R X 1   InputBin FORMSOURCE
RESDLL UniresDLL Orientation PORTRAIT Resolution Option1 PaperSize PC PrintMargi
n MarginOff OVERCOATTYPE OPTYPE_LUSTER PRINTBUFFCONTROL PBC_CLEAR CUTTERCONTROL
CUT_STANDARD MediaType STANDARD ColorMode 24bpp Halftone HT_PATSIZE_SUPERCELL_M
                      |   TFSM?           ?               ?               ?
          ?               ?                   
Wenn ich diesen kompletten Eintrag mit einem überschreibe wo der Drucker auf Matt eingestellt war klappt es auch.

Bloß wie kann ich in den Inhalt von DriverData über Python einzelne Werte ändern. Ich hatte auch schon eine binäres suchen und ersetzten versucht,
leider ohne Erfolg, weil zusätzlich zu diesem "Textwert" noch 2 kleinste Änderungen vorhanden sind.

Daher meine Frage: Wie oder kann man überhaupt die speziellen Einstellungen eines Druckers über Python ändern?

Wenn es gar nicht gehen sollte, hat jemand Erfahrungen gemacht die dll des Druckers zu laden und direkt darüber also ohne windows spool zu drucken?

Ich danke jedem fürs lesen und darüber nachdenken.

BenKo
Antworten