# Serienbrief mit Java



## danny2 (9. Jul 2007)

Tag zusammen

Als Erweiterung meiner Anwendung sollte der User aus der vohandenen Kundendatenbank Serienbriefe erstellen können.
Da mir wichtig ist daß ausser der Anwendung keine weiteren Programme nötig sind möchte ich auf die Benutzung von Word oÄ verzichten.
Wie würdet Ihr dieses Problem angehen?
Ich hab leider keine Lösung, schon gar keine fertige, gefunden welche die Anwendung von weiteren Programmen unabhängig bleiben lässt.
Einzige Möglichkeit die ich mir bisher dachte ist, per Anwendung einen Serienbrief zu designen und mit Platzhaltern in eine Datei zu schreiben und diese Platzhalter dann zu ersetzen und die Datei zu drucken.Das finde ich aber sehr umständlich, vorallem da zum formatieren ja keine simple Textdatei benutzt werden kann.

Danke im Voraus für jeden Denkanstoss.
Daniel


----------



## kama (9. Jul 2007)

Hallo,

wie wäre es mit iText und/oder Jasper Reports ...

MFG
Karl Heinz Marbaise


----------



## danny2 (9. Jul 2007)

wobei das beides dann wieder den weg über ne datei geht.
und PDFs zu designen finde ich schon fast zu umständlich.
zudem ist bei bspw. 10000 Serienbriefen die Kapazität für das speichern der Dateien schon ziemlich heftig.

Aber danke natürlich für den Vorschlag.


----------



## tuxedo (9. Jul 2007)

Google mal nach JOOReports und JOOConverter...
Da kannst du OpenOffice-Dokumente als Vorlage benutzen, die Sache in PDF konvertieren lassen etc...


----------



## The_S (9. Jul 2007)

Naja, er möchte ja keinen Programmier-Aufwand, keine externen Programme verwenden, keinen Speicherplatz verbrauchen, kein ... :roll:

also fällt deine Lösung auch schonmal weg.


----------



## tuxedo (9. Jul 2007)

Naja, mit Java allein wirds dann nicht einfach. 
ABER:

Es geht auch Quick'n'Dirty mit RTF-Dateien...
WordPad kann RTF, sowie MS Office und auch OpenOffice und viele andere auch. Muss man "nur" Platzhalter einbauen ( {ichBinEinPlatzhalter} ) und diese dann mittels selbstgeschriebenen Search&Replace ersetzen.
Problem ist dann nur wieder die Sache mit dem drucken.

iText fand ich recht aufwendig und komplex. pdfbox ist da schon einfacher, allerdings sehen, so zumindest meine letzten Tests, die gedruckten PDFs nicht so aus, wie sie mit Acrobar gedruckt aussehen. Da wird wohl noch irgendwas falsch gerendert.

- Alex


----------



## Guest (9. Jul 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Naja, er möchte ja keinen Programmier-Aufwand, keine externen Programme verwenden, keinen Speicherplatz verbrauchen, kein ... :roll:
> 
> also fällt deine Lösung auch schonmal weg.



den eindruck sollte es nicht machen.klar daß ich am liebsten auf ne (so gut wie) fertige lösung zurückgreifen würde.
aber am wichtigsten ist mir daß es ne performante lösung ist.

ich hab mir jasperreports jetzt mal angeschaut.soweit sieht das ja schon ganz gut aus.zumindest hab ich es so verstanden daß ich aus der anwendung heraus die reports direkt drucken kann.
werd das noch näher begutachten.

externes programm will ich einfach keines benutzen da die anwendung von solchen einfach unabhängig laufen kann.ist doch nix wenn ich als voraussetzung schon die installation von externer software voraussetze.und es ist ja nicht so daß sowieso jeder benutzer irgendeine officelösung installiert hat.


----------



## Philip (9. Jul 2007)

Also vielleicht hab ich jetzt dein Problem auch falsch verstanden, aber wie wäre es damit:
http://velocity.apache.org/

Das Anwendungsszenario wäre z.B. folgendes. Man schreibt ein Template (Pseudocode):

${empfaenger.anrede} ${empfaenger.name},
$text
Mit freundlichen Grüßen,
${absender.name}

Und dieses Template kann man dann in seinem Java-Programm über die Velocity-Engine mit sinnvollen Werten füllen. Ist wirklich sehr einfach. Es ist schnell zu erlernen und braucht auch nur ein paar Zeilen Code.


----------



## Gast (10. Jul 2007)

wie wärs mit xml und xslt? mit dem css style "page-break-after" kann man in den meisten browsern auch seitenumbrüche beim ausdruck erzwingen. macht die erzeugung von serienbriefen einfach und die darstellung sogar relativ flexibel.


----------

