Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RichEdit als PDF "drucken" (https://www.delphipraxis.net/177332-richedit-als-pdf-drucken.html)

DieFliege 31. Okt 2013 16:47

RichEdit als PDF "drucken"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Gemeinde,

leider beiße ich mir gerade wieder an einem Projekt die Zähne aus und komme nicht weiter.

Ich befülle ein RichEdit mit Daten, bis dahin kein Problem. Dieses RichEdit mit Daten möchte ich dem PDFCreater in eine PDF speichern - Bis dahin kein Problem.

Drucke ich nun das RichEdit aus oder nutze den PDFCreater, beginnt der Text ganz an den linken Rand (siehe Screen). Im RichEdit selbst, wird der Text korrekt dargestellt. Die Einstellungen im "Margins" & "BorderWith" haben keine Änderung gebracht.

Habt ihr vielleicht eine Idee, oder einen Hinweis wie ich einen Rand im PDF hin bekomme?

Vielen Dank für Eure Hilfe
LG DieFliege

DeddyH 31. Okt 2013 17:26

AW: RichEdit als PDF "drucken"
 
http://delphi.about.com/od/delphitip...int_margin.htm

DieFliege 31. Okt 2013 18:03

AW: RichEdit als PDF "drucken"
 
Hallo Detlef,

vielen Dank für Deinen Hinweis. Es ist genau das was ich gesucht habe und konnte es direkt anwenden.

Angenehmen Abend noch.

LG DieFliege :-)

DieFliege 4. Nov 2013 11:36

AW: RichEdit als PDF "drucken"
 
Hallo nochmal,

ich habe noch eine Frage, kann sein, dass ich den Wald vor lauter Bäumen nicht sehe:

Ich verwende aktuell diesen Code um ein RichEdit auszudrucken.
Code:
begin
    if PrintDialog1.execute then
      begin
        SetRichEditMargins(0.7, 0.2, 0.2, 0.4, RichEdit1); //Randeinstellungen
        RichEdit1.Print('Dateiname');
      end;
end;
Dies funktioniert prima per Drucker als auch mit dem PDFCreator.

Nun habe ich inzwischen drei RichEdit im Programm, welche alle in eine PDF sollen - jedes auf eine extra Seite. Mein erster Lösungsansatz war, dass ich nach jeden Seitenwechsel das nächste RichEdit ausgebe. Ich dachte, ich könnte dazu "Printers.Printer.NewPage;" nutzen. Leider stelle ich mich da etwas unbeholfen an.

Als nächste Lösung, habe ich mir gedacht, ich füge die RichEdit alle drei zusammen in eine und füge dort einen manuellen Seitenwechsel ein. Aber auch hier fehlt mir die Möglichkeit einen Seitenwechsel zu erzwingen.

Hättet Ihr noch mal einen Lösungsansatz für mich? Vielen Dank schon mal.

LG DieFliege :-)

Jumpy 4. Nov 2013 12:36

AW: RichEdit als PDF "drucken"
 
Es gibt die Möglichkeit, mit dem PDFCreator (den du ja zu benutzen scheinst) auch mehrere eigentlich separate Drucke in eine PDF zusammenzudrucken. Würde dir das weiter helfen?
Der PDFCreator hat dafür auch eine API, die man per COM/OLE(?) ansprechen kann, um das Drucken zu steuern. Schöne Beispiele dafür hab ich mal für Excel gefunden. Das Late-Binding sollte man auch in Delphi umsetzen können:

http://www.excelguru.ca/content.php?...ate-Binding%29

mjustin 4. Nov 2013 12:53

AW: RichEdit als PDF "drucken"
 
Zitat:

Zitat von DieFliege (Beitrag 1234439)

Als nächste Lösung, habe ich mir gedacht, ich füge die RichEdit alle drei zusammen in eine und füge dort einen manuellen Seitenwechsel ein. Aber auch hier fehlt mir die Möglichkeit einen Seitenwechsel zu erzwingen.

Hättet Ihr noch mal einen Lösungsansatz für mich? Vielen Dank schon mal.

In RTF wird ein erzwungener Seitenwechsel mit dem Token "\page" erreicht. Für einen Test genügt es, eine einfache RTF Datei zu editieren und innerhalb des Codes ein \page einzugeben. Zum Beispiel unmittelbar vor oder nach einem Absatz (Token "\par").

DieFliege 4. Nov 2013 13:18

AW: RichEdit als PDF "drucken"
 
@Ralph: Vielen Dank für Deine Antwort. Ja, der Gedanke ist mir auch schon gekommen, allerdings benutze ich den PDFCreater als Drucker. :wink:

@Michael: Auch Dir vielen Dank. Ich befülle mein RichEdit per "RichEdit1.Lines.Insert(0, 'Text');" - Leider funktioniert da der Token "\Page" nicht.

Mir persönlich wäre es am liebsten, wenn nach jedem RichEdit ein Seitenwechsel erfolgt, sodass ich die drei "RichEdit" getrennt befüllen kann.

LG DieFliege :-)

Jumpy 4. Nov 2013 13:44

AW: RichEdit als PDF "drucken"
 
Zitat:

Zitat von DieFliege (Beitrag 1234453)
@Ralph: Vielen Dank für Deine Antwort. Ja, der Gedanke ist mir auch schon gekommen, allerdings benutze ich den PDFCreater als Drucker. :wink:

OT: Nur aus Neugier: Was ist der PDFCreater? Google will mir immer nur den PDFCreator anzeigen. Hab noch den PDF Creater 24 gefunden?

DieFliege 4. Nov 2013 13:56

AW: RichEdit als PDF "drucken"
 
Hallo Ralf,

sry, ich meinte den "PDFcreatOr".

Problem gelöst: #12

Dies erzeugt eine neue Seite beim "Drucken" mit dem PDFCreator. Danke an alle.

LG DieFliege :-)


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