Frage zu SetDuplexMode

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Frage zu SetDuplexMode

Beitragvon mini990 » Mo, 19. Jan 2015 10:28

Hallo,
Folgende Eigenheit ist mir aufgefallen
ich nutze Druckerobjekt:SetDuplexMode( XBPPRN_DUPLEXMODE_BOOK )
Funktioniert auch einwandfrei bei mehrseitigen Drucken.
Was mir nicht gefällt:
Das Blatt wird auch bei einem einseitigen Druckauftrag nochmal eingezogen.
Kann man das abstellen?
Problem: Ich weiß vor Startdoc() nicht wie viele Seiten das Dokument haben wird.

Gruß Stefan
Benutzeravatar
mini990
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 274
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berngau bei Neumarkt i.d.Opf.

Re: Frage zu SetDuplexMode

Beitragvon brandelh » Mo, 19. Jan 2015 11:19

Der Drucker auch nicht ;-)

Du könntest die Datenermittlung durchlaufen ohne zu drucken und die Anzahl der Seiten ermitteln.

Eventuell kann man dem Drucker auch einstellen "leere Seiten" nicht zu drucken, eventuell erkennt er dann vor dem Einziehen, dass es eine leere Seite wird.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13327
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Frage zu SetDuplexMode

Beitragvon Herbert » Mo, 19. Jan 2015 12:04

mini990 hat geschrieben:Problem: Ich weiß vor Startdoc() nicht wie viele Seiten das Dokument haben wird.

Ich würde nicht ein zweimaliges Durchlaufen des Erstellens vornehmen.
Versuche vor dem Druckbefehl zu bestimmen, ob bloss wenig Daten entstehen werden. Entsprechend für diesen Fall den Duplex-Modus ausschalten.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1775
Registriert: Mi, 13. Aug 2008 23:22
Wohnort: Gmunden am Traunsee, Österreich

Re: Frage zu SetDuplexMode

Beitragvon brandelh » Mo, 19. Jan 2015 12:12

Die Daten vorab in Arrays zu sammeln und "in einem Rutsch" zu drucken hätte noch den Vorteil bei sehr vielen Treffern eine Sicherungsabfrage einzubauen ...
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13327
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Frage zu SetDuplexMode

Beitragvon AUGE_OHR » Mo, 19. Jan 2015 21:17

mini990 hat geschrieben:Das Blatt wird auch bei einem einseitigen Druckauftrag nochmal eingezogen.
Kann man das abstellen?
siehe dir mal das Beispiel zu XbpPrinter() im Xbase++ Help File an.

ein Drucker behält nun seine (Vor-) Einstellung so lange bis er "gelöscht" ( oDC:destroy() ) wird.
XbpPrinter(), XbpFont() und XbpBitmap() Objecte sollte man IMHO immer explizit löschen um keine "Memory" Leaks zu produzieren
mini990 hat geschrieben:Problem: Ich weiß vor Startdoc() nicht wie viele Seiten das Dokument haben wird.
du machst einen Denkfehler da dir der "Presentation-Space" nicht klar ist.
Code: Alles auswählen
FUNCTION PrinterPS( cPrinterObjectName )
LOCAL oPS, oDC := XbpPrinter():New()
   ...
   oPS   := XbpPresSpace():New()
   oPS:Create( oDC, aSize, GRA_PU_LOMETRIC )
RETURN oPS   

FUNCTION Drucke()
   oPS := PrinterPS()
   oPS:device():startDoc()
   ...
   GRA*(oPS, ... )
   ...
   oPS:device():endDoc()
alles was du mit GRA* Function "malst" passiert ja im oPS "Presentation-Space". der Drucker ist lediglich ein möglicher "Device-Context" für eine Ausgabe.

wie du im Beispiel c:\ALASKA\XPPW32\Source\samples\basics\Printer\PrintOut.prg im Preview siehst kannst du den Druck-Auftrag an jeden installierten Drucker schicken,
der sich dann um den Duplex-Druck kümmern muss WENN du mehr als 1 Seite im "Presentation-Space" hast.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10205
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Frage zu SetDuplexMode

Beitragvon Herbert » Di, 20. Jan 2015 7:44

Jimmy, den Duplex-Modus musst du vor dem Startdoc setzen. Deshalb muss vorher die mögliche Seitenzahl>1 bestimmt werden.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1775
Registriert: Mi, 13. Aug 2008 23:22
Wohnort: Gmunden am Traunsee, Österreich

Re: Frage zu SetDuplexMode

Beitragvon brandelh » Di, 20. Jan 2015 8:34

Im Hinblick auf mögliche SQL Erweiterungen sollte man heute eh nicht mehr wärend dem Suchlauf direkt drucken, denn das kann man dann gleich wieder in die Tonne treten wenn man auf SQL umsteigt.
Besser ist es die Datensammlung von der Ausgabe zu trennen, und dann hat man auch keine Probleme vorher zu ermitteln wieviele Datensätze gefunden wurden.
Insbesondere spart man sich 2 Suchläufe wenn man auch noch eine Vorschau will ;-)

Als Zwischenspeicher habe ich immer 2 dimensionale Arrays verwendet, ab 2.0 kann man auch ein normales Array mit DataObjects nutzen.
Bei einer Umstellung auf SQL wird dann nur die Erstellung des Arrays anders sein oder man verwendet gleich das Resultset.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13327
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Frage zu SetDuplexMode

Beitragvon Martin Altmann » Di, 20. Jan 2015 8:42

Hmm,
ich habe noch keinen Duplexdrucker gesehen, der eine Seite zweimal durchzieht, wenn der Duplexmodus eingestellt, aber nur eine (Vorder)seite zu bedrucken ist!
Was anderes ist es natürlich, wenn man am Ende der ersten Seite in dem Fall unnötigerweise eine neue Seite beginnt, um sie gleich wieder zu beenden! Dann würde aber im Nicht-Duplexmodus nach der bedruckten Seite eine leere Seite herauskommen!
Ansonsten zieht ein Duplexdrucker i.A. die Seite ein, bedruckt die Vorderseite und schmeisst sie aus - gewendet wird dann nicht.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12846
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Frage zu SetDuplexMode

Beitragvon brandelh » Di, 20. Jan 2015 9:09

Mein HP 8600 Bürofarbspritzer zieht das Blatt erneut ein und wendet es, auch wenn ich nur eine Seite ausdrucke (aktuelle Seite drucken) und Dublex aktiviere.
Mein Canon iP 7200 macht das nicht, er druckt nur die eine Seite und wirft dann gleich aus.

Allerdings kann auch ein Seitenvorschub zu viel eine neue Seite erzwingen:
Code: Alles auswählen
:newPage() --> self
// keine Druckdaten oder leere Zeilen ...
:endDoc() --> self


so wird immer eine leere Seite nachgeschoben !
vor :newPage() muss man also prüfen, ob es übernaupt noch was zu drucken gibt !

PS: bei meinen früheren Laserdruckern gab es eine Option "Leere Seiten unterdrücken", die finde ich bei meinen aktuellen Geräten nicht mehr.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13327
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Frage zu SetDuplexMode

Beitragvon Martin Altmann » Di, 20. Jan 2015 9:11

Mein Reden :!:
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12846
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Frage zu SetDuplexMode

Beitragvon mini990 » Di, 20. Jan 2015 10:24

Dieses Phänomen tritt hier bei meinem HP OfficeJet 6700 auf.
Bei einem OKI B720 mit Duplexeinheit macht er es nicht.....
Lustige Welt....

Gruß Stefan
Benutzeravatar
mini990
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 274
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berngau bei Neumarkt i.d.Opf.

Re: Frage zu SetDuplexMode

Beitragvon brandelh » Di, 20. Jan 2015 10:32

Wie geschrieben, auch mein HP OfficeJet PRO 8600 zieht immer ein und dreht das Blatt, sobald Dublex eingeschaltet ist.

Meiner hat einen Netzwerkanschluß und USB, beim Netzwerkzugriff legt er immer nach einer halben Seite einige Sekunden Wartezeit ein,
obwohl die Druckdaten keine Bilder enthalten und mit 100 MBit auch schnell übertragen sein müssten. Mit USB ist er sofort fertig.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13327
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Frage zu SetDuplexMode

Beitragvon Martin Altmann » Di, 20. Jan 2015 11:00

Den Druckertreiber hat wahrscheinlich ein Erstsemester-Informatiker programmiert :badgrin:

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12846
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Frage zu SetDuplexMode

Beitragvon mini990 » Di, 20. Jan 2015 13:15

mein 6700 hängt auch am Netz. Geschwindigkeitsprobleme treten hier jedoch auch bei
großen Dateien bzw. Bildern nicht auf.....

Gruß Stefan
Benutzeravatar
mini990
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 274
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berngau bei Neumarkt i.d.Opf.

Re: Frage zu SetDuplexMode

Beitragvon Tom » Di, 20. Jan 2015 14:38

Ich meine, mich an einen Duplexdrucker zu erinnern, der zuerst immer die Rückseite gedruckt hat. War ein Kyocera oder so. Selbst im Simplex-Modus :wink: hat er die Seite zweimal eingezogen.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6693
Registriert: Do, 22. Sep 2005 22:11
Wohnort: Berlin

Re: Frage zu SetDuplexMode

Beitragvon Wolfgang Ciriack » Di, 20. Jan 2015 15:14

Tja, bei allen 3 Monaten ein neues Druckermodel bleibt wenig Zeit, vernünftige Druckertreiber zu entwickeln...
Viele Grüße
Wolfgang
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2227
Registriert: Sa, 24. Sep 2005 8:37
Wohnort: Berlin

Re: Frage zu SetDuplexMode

Beitragvon brandelh » Di, 20. Jan 2015 16:13

Das ist natürlich auch eine Frage der Sortierung, wenn man 3 Seiten auf Dublex druckt und die letzte wird nicht wieder eingezogen,
dann würde die in der falschen Richtung auf dem Stapel liegen. Das wäre uns dann ja auch nicht Recht ;-)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13327
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Frage zu SetDuplexMode

Beitragvon AUGE_OHR » Mi, 21. Jan 2015 12:03

Herbert hat geschrieben:Jimmy, den Duplex-Modus musst du vor dem Startdoc setzen.
Deshalb muss vorher die mögliche Seitenzahl>1 bestimmt werden.
wieso ?

ich kann doch VOR dem o:Startdoc meinen Presspace füllen z.b. für ein Preview und durch die Druckerauswahl
jederzeit den Device-Context wechseln und dann den evtl. Duplex-Modus berücksichtigen.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10205
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg


Zurück zu Drucken und Export

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron