Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   A4 auf Printpreview anlegen (https://www.delphipraxis.net/160031-a4-auf-printpreview-anlegen.html)

thomas2009 24. Apr 2011 00:36

A4 auf Printpreview anlegen
 
Hi

ich möchte eine leere Bitmap 210 mm x 297 mm komplett auf Printpreview legen
Delphi-Quellcode:
procedure TMainForm.DrawImageOnlyPage;
var
  PR: TRect;
begin
  with PrintPreview do
  begin
    PR := PageBoundsAfterMargin;
    with PointFrom(mmLoMetric, 50, 50) do { 0.5 cm additional margin }
      InflateRect(PR, -X, -Y);
    PaintGraphicEx(PR, Image1.Picture.Graphic, True, False, True);
  end;
end;
Die A4 Format möchte ich von dem Punkt 0,0 zu dem Punkt Printpreview.Right, Printpreview.Bottom legen

Luckie 24. Apr 2011 00:37

AW: A4 auf Printpreview anlegen
 
Und wo ist jetzt das Problem?

thomas2009 24. Apr 2011 00:50

AW: A4 auf Printpreview anlegen
 
Momentan wird die Bitmap in diesen rect angelegt :
PR := PageBoundsAfterMargin;
wahrscheinlich Printable Area
Ich möchte aber mein Bild (das so gross wie A4 ist) auf Preview.Canvas komplett zeichnen

Normalerweise reicht es so :
Delphi-Quellcode:
PR := Rect(0,0, PrintPreview.Width, PrintPreview.Height);
Aber das Bild kommt ganz klein. d.h. ich muss den rect (von mm) in Printpreview Unit (Einheit) multiplizieren vielleicht

stahli 24. Apr 2011 02:00

AW: A4 auf Printpreview anlegen
 
Eine sehr hübsche Lösung für graphische Reports ist auch die Virtual Print Engine.
Diese bietet auch eine Vorschau und PDF-Export. Objekte kann man auf 10tel mm positionieren und Seiten bei Bedarf abwechselnd hoch und quer einrichten.
(Nur als Hinweis, falls das eine Alternative für Dich sein kann.)

thomas2009 24. Apr 2011 02:17

AW: A4 auf Printpreview anlegen
 
Ich möchte momentan aber lieber bei dsPDF bleiben und testen
Das Problem beí mir, ich kann nicht mein Bild (A4) auf Printpreviiew komplett strecken

Ich habe folgendes gemacht :
Delphi-Quellcode:
procedure TForm2.DrawImageOnlyPage;
var
  PR: TRect;
  OneCM: TPoint;
begin
  with PrintPreview do
  begin
  OneCM := PointFrom(mmLoMetric, 100, 100);// einheiten in cm
   // PR := PageBoundsAfterMargin;
   PR.Left := 0;
   PR.Top := 0;
   PR.Right := 21 * OneCM.X;
   PR.Bottom := 29 * OneCM.Y;
    PaintGraphicEx(PR, Form1.Image1.Picture.Graphic, True, False, True);
  end;
end;
Der Rectangle PR kommt beim aus drucken kleiner als A4 etwa 18 cm Breit statt 21 cm
Mein Bild beim Ausdrucken kommt auch soweit von dem Rand
Fast 2,5 cm Links statt 0,2 cm
Fast 2,3 cm von Oben statt 0,2 cm
Woran liegt es ?

himitsu 24. Apr 2011 05:53

AW: A4 auf Printpreview anlegen
 
Frag doch mal den Hersteller der Komponente!
Der muß doch schließlich wissen wie seine Komponente funktioniert und was man wie machen sollte.

Sir Rufo 24. Apr 2011 07:46

AW: A4 auf Printpreview anlegen
 
Zitat:

Zitat von himitsu (Beitrag 1096703)
Frag doch mal den Hersteller der Komponente!
Der muß doch schließlich wissen wie seine Komponente funktioniert und was man wie machen sollte.

Vor allem hat der auch ein Forum wo man fragen kann

Jens01 24. Apr 2011 10:46

AW: A4 auf Printpreview anlegen
 
Sind die Units von Printpreview vielleicht falsch/anders eingestellt. Die kann man in den Beispielen mit den Button oben umstellen.

Bei mir habe ich diesen Button rausgenommen und die Units pauschal eingestellt:
PP.Units := mmLoMetric;

Frohe Ostern!

P.S. Kambiz hat ein gutes Forum und er antwortet auch recht schnell. Allerdings nur Englisch oder Farsi.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 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