# Rechnung aus Java heraus erstellen und drucken



## Ravenlord (21. Aug 2006)

Hallo,

Ich habe schon mal gesucht, aber leider nix genaues gefunden was mir weiter geholfen hat...
es geht um folgendes:

Ich spiel gerade ein bischen mit Java rum und such jetzt eine möglichkeit folgendes zu bewerkstelligen:

Ich habe in meinem Programm im Moment eine Liste mit "Einkäufen"
diese Einkäufe haben eine Nummer, einen Namen, Preis ..., diese sind in einer MySQL Datenbank gespeichert.
Im laufe des Programmes füge ich gewisse Artikel zu meinem Warenkorb hinzu, ändere Mengen usw...

Jetzt möchte ich aus dem Programm heraus eine Rechnung erstellen über genau die Artikel, die in meinem aktuellen Warenkorb sind. Gibt es dafür eine einfache (= auch für Anfänger verständliche/machbare) Lösung?
Am liebsten wär mir natürlich ein PDF Dokument am ende, aber ich bin mom mit allem zufrieden 

Schönen Dank schonmal!

Alex


----------



## Wildcard (21. Aug 2006)

PDF kannst du mit iText erzeugen. Was die Formatierung angeht... hängt davon ab was du denn haben möchtest  :wink:


----------



## Ravenlord (21. Aug 2006)

Hm gute Frage,

am liebsten sowas in der Art:


```
Logo
Briefkopf

-------------------------------------------------------------------
Kundennummer usw...
-------------------------------------------------------------------

Rechnungsnr: XXXXXX                        Datum: XX.XX.XX


Ware 1 
Ware 2
Ware 3
...


-------------------------------------------------------------------
Gesamtpreis:
```

Schöne Grüße + scho mal danke!
Alex


----------



## Wildcard (21. Aug 2006)

Am leichtesten ist vermutlich eine HTML Formatierung. Die kannst du dann auf einem JLabel darstellen und daraus ein PDF erzeugen.
Vorschlag: Mach dir ein Objekt das den Header anzeigt (besteht wiederum aus Logo, Adresse, ...) , ein Objekt das den Content aufnimmt (also eine Artikelliste die Artikel aufnimmt) und einem Fußzeilenobjekt.
Jedes dieser Objekte implementiert ein Interface das eine toHTML Methode vorschreibt, und daraus erzeugst du dir dann einen String den du auf das JLabel setzt.


----------



## Waldi (21. Aug 2006)

Also ich an  deiner Stelle würde mich mit Jasper beschäftigen. Ist auch nicht soo schwer wenn man es einmal verstanden hat. Mit iText (Einem Report builder) kannst du dein Rechnungsformular einfach per drag and drop entwerfen. In deinem Programm kannst du Parameter an den SQL String übergeben. Dann wird die Sache kompiliert und angezeigt. Danach kannst du das ganz als PDF speichern. Wenn du mal schnell was ändern musst kannst du das ganz einfach indem du den Report in iText modifizierst. Wenn du diesbezüglich interesse hast dann sag bescheid ich habe noch ein paar hilfreiche Links herumfahren.


----------



## Ravenlord (21. Aug 2006)

jo darauf bin ich gerade auch gestoßen, klingt auf jedenfall interessant...

HTML is nich so mein Favorit, da wär mir pdf usw lieber...

Wär also super wenn du mir mal die Links geben könntest, bin aber auch schon fleißig am googln 

thx a lot!


----------



## Waldi (22. Aug 2006)

Also ich finde diesen Link am besten. Zumindest hat er mir am besten geholfen

http://www.alexander-merz.com/41.html


und hier der Link zu iReport (nicht iText) mit dem du die Reports per drag 'n' drop zusammenstellen kannst
http://jasperforge.org/sf/projects/ireport

wie gesagt wenn du es erst einmal kapiert hast ist es echt einfach ;-)


----------



## clemson (22. Aug 2006)

Freemarker ist ein gutes und einfaches Template-System - vielleicht hilft es dir weiter...


----------



## Ravenlord (22. Aug 2006)

Hallo Waldi,

danke für die Links, die hatte ich auch direkt als erstes oder zweites gefunden, werd mich die Tage mal einarbeiten!

clemson: danke auch dir für den Tipp, falls sich iReport als zu mächtig / sonstwas erweist werd ich mir das auch mal anschauen...


Schöne Grüße + nochmal Danke für die Hilfe



PS: cool mit dem häkchen zum abschließen


----------

