| Autor |
Beitrag |
JRegier
      
Beiträge: 1268
Win XP Home, Prof, 2003 Server
D6 Enterprise
|
Verfasst: 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
      
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: 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 
      
Beiträge: 1268
Win XP Home, Prof, 2003 Server
D6 Enterprise
|
Verfasst: 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
      
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: 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 
      
Beiträge: 1268
Win XP Home, Prof, 2003 Server
D6 Enterprise
|
Verfasst: Mo 07.11.05 11:17
Stefan.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
      
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: Mo 07.11.05 11:22
JRegier hat folgendes geschrieben: | Stefan.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 
      
Beiträge: 1268
Win XP Home, Prof, 2003 Server
D6 Enterprise
|
Verfasst: Mo 07.11.05 12:44
Stefan.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
      
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: 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:
Delphi-Quelltext 1: 2:
| png := TPNGObject.Create(); png.Assign(bitmap); |
Stefan
|
|
JRegier 
      
Beiträge: 1268
Win XP Home, Prof, 2003 Server
D6 Enterprise
|
Verfasst: Mo 07.11.05 14:21
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Mo 07.11.05 23:47
Hallo,
JRegier 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 
      
Beiträge: 1268
Win XP Home, Prof, 2003 Server
D6 Enterprise
|
Verfasst: Di 08.11.05 06:04
Lannes hat folgendes geschrieben: | Hallo,
JRegier 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!
|
|