Autor Beitrag
JRegier
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1268

Win XP Home, Prof, 2003 Server
D6 Enterprise
BeitragVerfasst: Sa 05.11.05 19:42 
Hi,

ich habe noch nie mit PDF gearbeitet aber ich bekomme z.B. von der Telekom Rechnungen im PDF Format!
Ist das eine gute Idee?

Ich meine z.B. ich erstelle erstmal eine Maske wo die Beträge eingegeben werden können,
ich habe schon mal Anträge in PDF Format gesehen wo man auch etwas eintragen kann!
Nur weiß nicht ob man da auch Berechnungen für z.B. Mehrwertsteuer anstellen kann?

Oder man trägt in einer Eingabemaske in Delphi die Beträge ein und erstellt ein
PDF File? Na ja aber besser wäre doch am Original direkt zu arbeiten?

Oder macht man das mit Reports? Keine Ahnung, ich hoffe jemand sagt mir das!
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 07.11.05 10:24 
Wie weit die PDF-Formulare gehen, weiss ich auch nicht, aber im Vergleich zu dem, was du mit einem Delphi-Programm machen kannst, dürfte das recht eingeschränkt sein.

Ich habe in den letzten Monaten einen Report-Generator gebaut, der PDF-Dateien mit XSL-FO erzeugt. FO ist eine XML-basierte Seitenbeschreibungssprache - ein bisschen wie HTML, aber darauf ausgelegt, Layouts für Druck oder PDF-Erzeugung exakt reproduzieren zu können.
Man erzeugt eine XML-Datei, die die Daten deines Dokuments enthält. Durch ein XSL-Stylesheet wird die XML-Datei dann ins FO-Format transformiert. Die FO-Datei wirft man dann einem FO-Formatter vor. Wir benutzen dazu den Antennahouse XSL Formatter (www.antennahouse.com). Eine kostenlose, aber noch nicht so leistungsfähige Lösung ist FOP des Apache-Projekts (xmlgraphics.apache.org/fop/).

Der Vorteil dieses Verfahrens ist die Trennung von Dokument-Inhalt und Layout. Die von deinem Programm erzeugte XML-Datei enthält nur die Daten, die in dem Dokuement enthalten sein sollen. Das Layout wird durch das Stylesheet festgelegt - man kann es deswegen modifizieren, ohne das Programm zu verändern.

Stefan
JRegier Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1268

Win XP Home, Prof, 2003 Server
D6 Enterprise
BeitragVerfasst: Mo 07.11.05 11:07 
Ich habe gerade während ich dein Beitrag gelesen habe eine andere Idee bekommen die
wesentlich einfacher funktionieren dürfte! Ich werd's mal testen


  • Eine Image erstellen die die Standard Daten enthält
  • Darauf setze ich Edit Komponenten und setze die Border unsichtbar
  • Wenn der Befehl Drucken kommt wird der Text der Edit komponenten auf das Image gezeichnet
  • Und chließendlich kann ich es einfach ausdrucken das Image oder das Image so abspeichern falls es als Anlage per EMail agbeschickt werden soll!
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 07.11.05 11:14 
Das geht natürlich auch. Nachteil der Methode ist, dass ein Bild iso hoher Auflösung, dass es im Druck noch gut aussieht, relativ gross wird.

Stefan
JRegier Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1268

Win XP Home, Prof, 2003 Server
D6 Enterprise
BeitragVerfasst: Mo 07.11.05 11:17 
user profile iconStefan.Buchholtz hat folgendes geschrieben:
Das geht natürlich auch. Nachteil der Methode ist, dass ein Bild iso hoher Auflösung, dass es im Druck noch gut aussieht, relativ gross wird.

Stefan


Ja und wenn ich das als Email Anlage Abschicken will wird es auch länger dauern als ein PDF file?
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 07.11.05 11:22 
user profile iconJRegier hat folgendes geschrieben:
user profile iconStefan.Buchholtz hat folgendes geschrieben:
Das geht natürlich auch. Nachteil der Methode ist, dass ein Bild iso hoher Auflösung, dass es im Druck noch gut aussieht, relativ gross wird.

Stefan


Ja und wenn ich das als Email Anlage Abschicken will wird es auch länger dauern als ein PDF file?


Klar, die Daten müssen ja übertragen werden.
Wenn du es so machen willst, nimm am besten PNG als Dateiformat - das komprimiert bei Strichzeichnungen ziemlich gut. JPG erreicht zwar höhere Kompressionfaktoren, ist aber ein verlustbehaftetes Verfahren, das für Fotos optimiert ist. Bei Strichzeichnungen sieht das sche**** aus.

Stefan
JRegier Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1268

Win XP Home, Prof, 2003 Server
D6 Enterprise
BeitragVerfasst: Mo 07.11.05 12:44 
user profile iconStefan.Buchholtz hat folgendes geschrieben:
Klar, die Daten müssen ja übertragen werden.
Wenn du es so machen willst, nimm am besten PNG als Dateiformat - das komprimiert bei Strichzeichnungen ziemlich gut. JPG erreicht zwar höhere Kompressionfaktoren, ist aber ein verlustbehaftetes Verfahren, das für Fotos optimiert ist. Bei Strichzeichnungen sieht das sche**** aus.
Stefan


Ja ich habe auch schon mal GraphicFormate Units da die sehr viele Formate unterstützen
nur wenn ich Beträge auf das Image Zeichnen will muß erstmal ein BMP Format vorliegen und
danach umgewandelt werden zum Speichern! Nur wie kann ich das machen? Müßten irgendwelche
functionen in diesen Units sein? Wenn ich das mit dem SaveImage-Dialog mache geht's imho
automatisch!

Übrigens kennst du irgendwelche tollen Rechnungsvorlagen um sich ein Beispiel davon zu nehmen?
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 07.11.05 13:06 
Ich benutze zum PNG erzeugen die TPNGImage-Komponente (pngdelphi.sourceforge.net/). Mit der kann man sehr einfach ein Bitmap in ein PNG kovertieren. Man braucht nur das Bitmap dem PNG mit Assign zuweisen:

ausblenden Delphi-Quelltext
1:
2:
png := TPNGObject.Create();
png.Assign(bitmap);


Stefan
JRegier Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1268

Win XP Home, Prof, 2003 Server
D6 Enterprise
BeitragVerfasst: Mo 07.11.05 14:21 
user profile iconStefan.Buchholtz hat folgendes geschrieben:
Ich benutze zum PNG erzeugen die TPNGImage-Komponente (pngdelphi.sourceforge.net/). Mit der kann man sehr einfach ein Bitmap in ein PNG kovertieren. Man braucht nur das Bitmap dem PNG mit Assign zuweisen:

ausblenden Delphi-Quelltext
1:
2:
png := TPNGObject.Create();
png.Assign(bitmap);


Stefan


Vielen Dank für Ihre Mühe! Sör :wink:
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mo 07.11.05 23:47 
Hallo,

user profile iconJRegier hat folgendes geschrieben:
... ich habe schon mal Anträge in PDF Format gesehen wo man auch etwas eintragen kann!
Nur weiß nicht ob man da auch Berechnungen für z.B. Mehrwertsteuer anstellen kann?

Das wird mit JavaScript realisiert, Berechnungen gehen auch damit.
Hier mal drei Links zu Information:
PDF und JavaScript
[url=www.pressetext.at/pt...cript-Programmierung für pdf-Formulare
[/url]PDF World – Das Acrobat & PDF Magazin

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
JRegier Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1268

Win XP Home, Prof, 2003 Server
D6 Enterprise
BeitragVerfasst: Di 08.11.05 06:04 
user profile iconLannes hat folgendes geschrieben:
Hallo,

user profile iconJRegier hat folgendes geschrieben:
... ich habe schon mal Anträge in PDF Format gesehen wo man auch etwas eintragen kann!
Nur weiß nicht ob man da auch Berechnungen für z.B. Mehrwertsteuer anstellen kann?

Das wird mit JavaScript realisiert, Berechnungen gehen auch damit.


Hey, das habe ich gar nicht gewußt, wow das ist ja wunderbar! Da ist also JavaScript möglich wie bei einem
Browser!