Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi HP Duplex einbinden (Drucken) (https://www.delphipraxis.net/3970-hp-duplex-einbinden-drucken.html)

Mitchl55 9. Apr 2003 15:20


HP Duplex einbinden (Drucken)
 
Hallo...

möchte eine HP Duplexeinheit einbinden in meine Druckroutine! Das Problem ist, das ich durch das 2 malige Begindoc und Enddoc 2 Druckaufträge erhalte! Müsste meine 2 zu druckenden Seiten in einen Druckauftrag schicken können!

Hatte jemand auch schonmal das Problem oder wollte es Probieren? Gibt es eine Lösung?


Gruß

Mitchl

:coder:

Daniel B 9. Apr 2003 16:34

Hallo,

solange es noch nichts mit Datenbanken zutun hat, verschiebe ich es mal nach Sonstiges.

Grüsse, Daniel :hi:

Mitchl55 10. Apr 2003 12:25

Ups... ist mir irgendwie falsch dazwischen gerutscht!

Mitchl

hitzi 10. Apr 2003 12:49

Ich versteh dein Problem nicht ganz. Wieso kannst du die zwei Seiten nicht in einem Druckauftrag verschicken?

Zwei Seiten hintereinander in einem Druckauftrag mit Drucker auf Duplex gestellt = Duplexdruck :)

MfG Hitzi

Mitchl55 10. Apr 2003 12:57

Wenn ich schreibe

begindoc

Text 1

enddoc

---

begindoc

Text 2

enddoc

dann druckt er mir Seite 1 mit Text 1, Seite 2 leer, Seite 3 mit Text 2, und Seite 4 leer...

das Verstehe ich nicht!

Gruß

Mitchl

hitzi 10. Apr 2003 13:10

Warum machst du das nicht so?

BeginDoc

"Text1"

NewPage

"Text2"

EndDoc


Mit deiner Variante erstellst du zwei verschiedene Druckaufträge. Duplex wird immer nur auf einen Druckauftrag angewendet. Jeder folgende Druckauftrag "initializiert" den Drucker auf die jeweils eigenen Einstellungen (auch Duplex). Deshalb wird jeder einzelne Druckauftrag so betrachtet, als ob dieser der einzige Druckauftrag ist. Druckaufträge können meines Wissens nicht durch den Drucker verknüpft werden.

Um nun Duplex in einem Druckauftrag verwenden zu können musst du bei den Druckereinstellungen Duplex aktiviert haben. Um nun Text 2 auf die Rückseit von Text 1 zu bekommen, musst du einen Seitenumbruch hinzufügen. Dies erfolgt durch den Befehl "Newpage".

Das war auch schon alles zum Thema Duplexdruck. Das einzige "Geheimnis" ist der Seitenumbruch :)

MFG Hitzi

Mitchl55 11. Apr 2003 07:24

Ich danke Dir vielmals! Werde Deine Lösung sofort ausprobieren!

Gruß und Danke

Mitchl

alienous 23. Jun 2006 17:02

Re: HP Duplex einbinden (Drucken)
 
hi,


danke erstmal, dieser beitrag hat mir schonmal etwas weitergeholfen. nun, ich schreibe zurzeit ein programm, das mir mails mit einem klick druckt.

dabei will ich nicht immer im druckertreiber auf duplex umstellen, meine frage also: kann ich über einen befehl dem druckertreiber sagen, das beim nächsten druckauftrag er bitte duplex drucken soll und dann wieder die standard-druckereinstellungen?
wie kann ich also die einstellungen manipulieren, die ich sonst über den druckerdialog ändern kann?

danke
mfg

Mitchl55 23. Jun 2006 18:49

Re: HP Duplex einbinden (Drucken)
 
Hallo,

hab mich da noch nicht so richtig mit beschäftigt, aber vielleicht hilft Dir
dern Quelltext weiter?

Delphi-Quellcode:
uses
  printers, winspool;

function PrinterSupportsDuplex: Boolean;
var
  Device, Driver, Port: array[0..255] of Char;
  hDevMode: THandle;
begin
  Printer.GetPrinter(Device, Driver, Port, hDevmode);
  Result :=
    WinSpool.DeviceCapabilities(Device, Port, DC_DUPLEX, nil, nil) <>
    0;
end;


var
  Device, Driver, Port: array[0..80] of Char;
  DevMode: THandle;
  pDevmode: PDeviceMode;
  begin
     // Get printer device mode handle.
    Printer.GetPrinter(Device, Driver, Port, DevMode);
    if Devmode <> 0 then begin
       // lock it to get pointer to DEVMODE record
      pDevMode := GlobalLock(Devmode);
      if pDevmode <> nil then
      try
        with pDevmode^ do begin
          dmDuplex := DMDUP_VERTICAL;
          dmFields := dmFields or DM_DUPLEX;
        end;
      finally
        // unlock devmode handle.
        GlobalUnlock(Devmode);
      end;
    end; { If }
  end;
Gruß

Mitchl

alienous 23. Jun 2006 23:22

Re: HP Duplex einbinden (Drucken)
 
hi, danke erstmal, habs noch nicht probiert, ist jetz auch zu spät dafür :D

aber hättest du da noch ein paar tipps, wo ich mich über die weiteren treibereinstellungen informieren kann und wie man sie dann verändern kann?

zb, druckqualität, hochformat/querformat etc.


danke
mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz