![]() |
Drucken hoch UND quer
Ich möchte in einem Druckauftrag gern Hoch- und Querblätter ausdrucken.
Word kann das und erzeugt z.B. eine XPS-Datei mit Hoch- und Querblättern. (sollte mit einem PDF-Treiber sicher auch gehen) Wenn ich das für eine neue Seite versuche, erhalte ich die Fehlermeldung "Druckvorgang läuft".
Delphi-Quellcode:
Gibt es da eine Möglichkeit?
...
PI := 0; Printer.Copies := 1; Printer.Title := GetParentForm(Self).Caption; Printer.BeginDoc; repeat if PI > 0then Printer.NewPage; ... if PageImage.Width > PageImage.Height then Printer.Orientation := TPrinterOrientation(poLandscape) // <- Fehler else Printer.Orientation := TPrinterOrientation(poPortrait); // <- Fehler ... Ansonsten könnte ich notfalls Querbilder vorher in´s Hochformat drehen. Danke Stahli |
Re: Drucken hoch UND quer
nimm doch RAVE :-) . dort kannst du im bevor-print ereignis die orientation einstellen. :-)
PS: ausserdem nimmt dir RAVE noch 'n paar kleinigkeiten ab.. wie z.b. die druckvorschau ... wenn du denn eine möchtest... :-) btw: sprech ich vom code-based printing :-) |
Re: Drucken hoch UND quer
Nein, das ist für mich keine Lösung. Ich nutze MyComponent.PaintTo um bestimmte Bereiche in Bilder zu exportieren (Hoch- und Querformate) und diese dann zu drucken.
Das einzelne Drucken funktioniert perfekt, ich hätte die Seiten aber wenn möglich gern in einem Druckauftrag. |
Re: Drucken hoch UND quer
... obwohl, vielleicht war ich doch zu voreilig :duck:
Ich brauche zwar keinen Reportgenerator aber könnte ja vielleicht den Rave (von D2006 Prof) nur verwenden um - hochformatiges Blatt anlegen + Bitmap drauf - neues querformatiges Blatt anlegen + Bitmap drauf + das dann als Druckvorschau anzeigen und/oder drucken Ginge das mit dem Rave? Und kann man die Seiten vielleicht sogar als PDF (und HTML) exportieren, so dass in der PDF dann hoch- und querformatige Blätter enthalten sind? (sorry, hab gerade Rave nicht verfügbar) Danke Stahli |
Re: Drucken hoch UND quer
hallo stahli,
für den ersten teil würd ich dir ![]() bisher kenn ich es so, dass man bei RAVE das papierformat vor dem druck festlegen muss, ... denke allerdings, dass hier Merlin wohl eine lösung hat. ansonsten nimmt dir RAVE einiges ab, wie z.b. die druckvorschau (falls du eine möchtest) oder z.b. auch das skalieren der grafiken... und die verschiedenen seitenumbrüche... aber das kennst du doch sicher schon :-) an deiner stelle würd ich es mit RAVE einfach mal probieren, ist auf alle fälle die bessere alternative als alles zu fuss :-) viel erfolg und noch einen schönen abend GG |
Re: Drucken hoch UND quer
Hallo,
Man muss nur dies tun :
Delphi-Quellcode:
...
Printer.EndDoc; // <== if PageImage.Width > PageImage.Height then Printer.Orientation := TPrinterOrientation(poLandscape) else Printer.Orientation := TPrinterOrientation(poPortrait); Printer.BeginDoc; // <== ... |
Re: Drucken hoch UND quer
ok danke es funktioniert... :wink:
|
Re: Drucken hoch UND quer
@fs999:
Ich denke, EndDoc beendet den aktuellen Druckauftrag und BeginDoc startet einen neuen (kann ich gerade nicht testen). Somit werden bei Nutzung eines PDF-Druckertreibers 3 Dateien erzeugt, das ich gerade nicht wollte. @grenzgaenger: Danke für den Tip. Sieht eigentlich nicht schlecht aus. Ich sehe mir aber gerade mal die Virtual Print Engine an. Das wirkt schon noch deutlich mächtiger (wenn auch etwas aufwändiger). @all: Hat jemand Erfahrungen mit der VPE? - Lassen sich Kreuztabellen mit unterschiedlicher Spalten- und Zeilenanzahl sowie dynamischer Zeilenhöhe und Wortumbrüchen in den Kästchen realsieren? - Wie funktioniert das Erstellen von Inhaltsverzeichnissen in PDF-Dateien? stahli |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 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-2025 by Thomas Breitkreuz