![]() |
Drucker per Programm auf Simplex oder Duplex Druck einstellen
Hallo zusammen,
ich versuche gerade bei unserem Drucker die Druckmethode per Programm auf Simplex (einseitiger Druck) oder Duplex (Druck auf Vorder & Rückseite) einzustellen... Hierfür habe ich mir über Funktionen die ich im Internet gefunden habe den folgenden Source zusammengestellt:
Delphi-Quellcode:
Der Drucker mit dem ich Teste ist Standardmäßig im Druckertreiber auf Duplex eingestellt.Printer.PrinterIndex := Printer.Printers.IndexOf(cmbbox_printers.Text); Printer.GetPrinter(arDevice, arDriver, arPort, hDevMode); blDuplexSupported := WinSpool.DeviceCapabilities(arDevice, arPort, DC_DUPLEX, nil, nil) <> 0; If (blDuplexSupported) Then Begin ShowMessage('Duplex Printer'); If hDevMode <> 0 Then Begin // lock it to get pointer to DEVMODE record pDevMode := GlobalLock(hDevMode); If pDevMode <> Nil Then Begin Try With pDevmode^ Do Begin //dmDuplex := DMDUP_VERTICAL; // Duplex //dmDuplex := DMDUP_HORIZONTAL; // Duplex dmDuplex:=DMDUP_SIMPLEX; //Simplex dmFields := dmFields or DM_DUPLEX; End; Finally // unlock devmode handle. GlobalUnlock(hDevMode); End; End; End; End Else Begin ShowMessage('No Duplex Printer'); End; Wenn ich mir die Druckereinstellungen in die pDevMode Variable einlese wird mir im Feld dmDuplex eine zwei angezeigt (heißt vermutlich Duplex Druck). Nachdem ich dem Feld dmDuplex den Wert DMDUP_SIMPLEX zugewiesen habe steht im dmDuplex Feld eine eins (Einseitiger Druck ???). Das Druckergebnis beeinflusst die Routine aber nicht, d.h. egal was ich in meiner Routine einstelle, der Drucker Druckt immer Duplex & die Einstellung im Druckertreiber stellt sich auch nicht um. Was evtl. noch wichtig ist, der Druck erfolgt über List & Label. List & Label bietet im Layout auch eine Option auf Simplex umzustellen, diese ist aber genauso "nutzlos". Mach ich etwas falsch oder gibt es generell nur die Möglichkeit die Druckmethode im Treiber Fix auf Simplex oder Duplex einzustellen? |
AW: Drucker per Programm auf Simplex oder Duplex Druck einstellen
Zitat:
Delphi-Quellcode:
heissen?
dmFields := dmFields and not DM_DUPLEX
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz