AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Drucken hoch UND quer

Ein Thema von stahli · begonnen am 21. Mai 2008 · letzter Beitrag vom 23. Mai 2008
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#1

Drucken hoch UND quer

  Alt 21. Mai 2008, 19:43
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:
  ...
  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
    ...
Gibt es da eine Möglichkeit?

Ansonsten könnte ich notfalls Querbilder vorher in´s Hochformat drehen.

Danke
Stahli
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#2

Re: Drucken hoch UND quer

  Alt 21. Mai 2008, 21:49
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
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Drucken hoch UND quer

  Alt 21. Mai 2008, 22:47
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.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Drucken hoch UND quer

  Alt 22. Mai 2008, 15:08
... obwohl, vielleicht war ich doch zu voreilig

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
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#5

Re: Drucken hoch UND quer

  Alt 22. Mai 2008, 22:01
hallo stahli,

für den ersten teil würd ich dir folgendes ans herz legen. für das code-based-printing brauchst du keine .RAV datei, keine .DLL, Druckvorschau, etc. sondern du bestimmst alleine in deinem prog. was auf's papier kommt. hierbei kannst du auch problemlos direkt ein .PDF (.HTML, .RTF, etc.) erzeugen, wenn du das möchtest oder eben acuh indirekt...

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
  Mit Zitat antworten Zitat
Benutzerbild von fs999
fs999

Registriert seit: 4. Dez 2006
Ort: Luxembourg
46 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Drucken hoch UND quer

  Alt 23. Mai 2008, 09:48
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; // <==
    ...
  Mit Zitat antworten Zitat
delphimaedel
(Gast)

n/a Beiträge
 
#7

Re: Drucken hoch UND quer

  Alt 23. Mai 2008, 10:12
ok danke es funktioniert...
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Drucken hoch UND quer

  Alt 23. Mai 2008, 14:08
@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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 Uhr.
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