AGB  ·  Datenschutz  ·  Impressum  







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

RichEdit als PDF "drucken"

Ein Thema von DieFliege · begonnen am 31. Okt 2013 · letzter Beitrag vom 4. Nov 2013
Antwort Antwort
DieFliege

Registriert seit: 6. Aug 2013
57 Beiträge
 
Delphi XE4 Professional
 
#1

RichEdit als PDF "drucken"

  Alt 31. Okt 2013, 17:47
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
Miniaturansicht angehängter Grafiken
screen-pdf.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: RichEdit als PDF "drucken"

  Alt 31. Okt 2013, 18:26
http://delphi.about.com/od/delphitip...int_margin.htm
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
DieFliege

Registriert seit: 6. Aug 2013
57 Beiträge
 
Delphi XE4 Professional
 
#3

AW: RichEdit als PDF "drucken"

  Alt 31. Okt 2013, 19:03
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
  Mit Zitat antworten Zitat
DieFliege

Registriert seit: 6. Aug 2013
57 Beiträge
 
Delphi XE4 Professional
 
#4

AW: RichEdit als PDF "drucken"

  Alt 4. Nov 2013, 12:36
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
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: RichEdit als PDF "drucken"

  Alt 4. Nov 2013, 13:36
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
Ralph
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#6

AW: RichEdit als PDF "drucken"

  Alt 4. Nov 2013, 13:53

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").
Michael Justin
  Mit Zitat antworten Zitat
DieFliege

Registriert seit: 6. Aug 2013
57 Beiträge
 
Delphi XE4 Professional
 
#7

AW: RichEdit als PDF "drucken"

  Alt 4. Nov 2013, 14:18
@Ralph: Vielen Dank für Deine Antwort. Ja, der Gedanke ist mir auch schon gekommen, allerdings benutze ich den PDFCreater als Drucker.

@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
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: RichEdit als PDF "drucken"

  Alt 4. Nov 2013, 14:44
@Ralph: Vielen Dank für Deine Antwort. Ja, der Gedanke ist mir auch schon gekommen, allerdings benutze ich den PDFCreater als Drucker.
OT: Nur aus Neugier: Was ist der PDFCreater? Google will mir immer nur den PDFCreator anzeigen. Hab noch den PDF Creater 24 gefunden?
Ralph
  Mit Zitat antworten Zitat
DieFliege

Registriert seit: 6. Aug 2013
57 Beiträge
 
Delphi XE4 Professional
 
#9

AW: RichEdit als PDF "drucken"

  Alt 4. Nov 2013, 14:56
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

Geändert von DieFliege ( 4. Nov 2013 um 15:17 Uhr)
  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 21:50 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