# Visueller/WYSIWYG FOP Editor



## spaghetti (16. Aug 2011)

Moin zusammen,
da ich die Erfahrung, ein bereits bestehendes Druckformular per FOP (also XSLT per Texteditor) exakt nachzuempfinden bereits einmal hinter mir und in mittlerer Zukunft mehrfach vor mir habe, bin ich auf der Suche nach einem brauchbaren grafischen Editor dafür.

Getestet habe ich bisher die Trial Versionen von StyleVision 2011 und XSLFast - allerdings habe ich mit beiden Programmen keine brauchbaren PDF-Ausgaben hinbekommen (Word ausgaben sahen prima aus, aber das nützt mir wenig), da die Design-Ansicht und das Resultat wenig miteinander zu tun hatten.
Hat in dem Bereich jemand Erfahrung und nen guten Tipp für mich?


----------



## HoaX (16. Aug 2011)

Ich hab das auch schon einige Male hinter mir, nie wieder!
Alles wird jetzt mit PDFs gemacht und per Java die Felder ausgefüllt und ein neues erzeugt oder einfach per OpenOffice.


----------



## spaghetti (17. Aug 2011)

HoaX hat gesagt.:


> Ich hab das auch schon einige Male hinter mir, nie wieder!


 Schonmal beruhigend, dass nicht nur ich zu doof bin, sondern das ganze wirklich ne Qual ist. 



HoaX hat gesagt.:


> Alles wird jetzt mit PDFs gemacht und per Java die Felder ausgefüllt und ein neues erzeugt oder einfach per OpenOffice.


Das heisst, du liest eine Schablone im PDF Format und füllst die dann anschließend? Wie siehts da mit der Performance aus? Geht um mehrere tausend Dokumente am Tag und OpenOffice fällt hier leider auch definitiv weg.


----------



## HoaX (17. Aug 2011)

Genau, direkt PDF aber auch nur wenn die Komplexität nicht allzu hoch ist. Hier ist Beispielcode: iText in Action: example part2.chapter06.FillDataSheet

OpenOffice finde ich jetzt nicht so schlimm, das kann man ja auf einem schnellen Rechner/Server laufen lassen und remote steuern, zur Not mehrere Instanzen parallel.


----------



## jworker (31. Aug 2011)

Das Problem habe ich so ähnlich auch. Eigentlich benötigt man

eine XML Datenquelle
einen WYSIWYG Editor um das Layout zu erstellen
dieser muß zusätzlich erlauben Datenfelder der Quelle anzusprechen
eine Engine auf Java Basis, die massenhaft Dokumente produzieren kann

Die Probleme mit ALTOVA Tools ein vernünftiges Layout herzustellen kann ich bestätigen
Einen einfachen anderen Editor habe ich auch nicht gefunden

Ich experimentiere damit, aus OpenOffice Dokumenten XSL:FO Vorlagen zu erstellen, die können dann mit Apache FOP in PDF gewandelt werden. Diese Umwandlung leistet im Prinzip das Projekt 
Office2fO | Download Office2fO software for free at SourceForge.net
Für meine Zwecke könnte das schon reichen, es gibt aber sicher Detailprobleme.
Das Ganze ist wohl Teil der Inforama (Inforama - Home) Lösung. Diese scheint sehr vollständig basierend auf OpenOffice.

Die Umwandlung OO -> XSL:FO kann (und sollte wohl) auch durch einen OpenOffice Filter geschehen, da habe ich mal einen gesehen, finde ihn aber nicht wieder. 


Direkt PDF zu manipulieren mit iText sieht interessant aus, der Vorteil für Dich ist evtl der genaue Layout erhalt. Für mich ist nicht offensichtlich, daß man damit Tabellen mit neuen Zeilen ausfüllen kann, das diese Tabellen dann mehrere Seiten umfassen können und das dann Seitenzahlen und Inhaltsverzeichnis noch stimmen. Habe ich aber nicht geprüft.
Generell ist PDF ein übles Format um es zu manipulieren, daher bin ich bei dieser Lösung zurückhaltend.


Alternativ evaluiere ich jetzt JasperReports (Welcome to JasperForge. : JasperForge, ireport : JasperForge), das sieht im Moment gut aus:

es gibt eine leistungsfähige Java Engine, die PDFs aus Datenquellen und Layout generieren kann
mit iReport Designer 4.0 gibt es einen guten WYSIWYG Editor, der die Einbindung von Datenquellen erlaubt.
Das interne Format zur Seitenbeschreibung ist klar strukturiertes XML. Damit hat man alle Möglichkeiten der weiteren Manipulation.
Die Community hierzu ist ziemlich mächtig

Wie exakt sich damit ein vorgegebenes PDF wiedererstellen läßt ist natürlich immer die Frage. Die Sinnhaftigkeit dieser Anforderung ist für mich fraglich. Ein sehr vergleichbares Layout sollte ausreichen.

Hat jemand eine bessere Lösung?
Viele Grüße


----------



## spaghetti (31. Aug 2011)

jworker hat gesagt.:


> Das Problem habe ich so ähnlich auch. Eigentlich benötigt man
> 
> eine XML Datenquelle
> einen WYSIWYG Editor um das Layout zu erstellen
> ...


Das klingt eigentlich sehr vernünftig, werde mir das mal ansehen! Etwas handlicher als die Altova Geschichte finde ich nach näherer Betrachtung übrigens XSLFast von jCatalog - so richtig zufrieden bin ich damit aber auch noch nicht. 



jworker hat gesagt.:


> Direkt PDF zu manipulieren mit iText sieht interessant aus, der Vorteil für Dich ist evtl der genaue Layout erhalt. Für mich ist nicht offensichtlich, daß man damit Tabellen mit neuen Zeilen ausfüllen kann, das diese Tabellen dann mehrere Seiten umfassen können und das dann Seitenzahlen und Inhaltsverzeichnis noch stimmen. Habe ich aber nicht geprüft.
> Generell ist PDF ein übles Format um es zu manipulieren, daher bin ich bei dieser Lösung zurückhaltend.


 Layouterhalt ist dabei möglicherweise wirklich gut -aber spätestens bei ner Zwischensumme für eine Rechnungsseite bei einer Layoutabhängigen Positionsanzahl dürfte das ganze hässlich werden. ;-) 


jworker hat gesagt.:


> Alternativ evaluiere ich jetzt JasperReports (Welcome to JasperForge. : JasperForge, ireport : JasperForge), das sieht im Moment gut aus:
> 
> es gibt eine leistungsfähige Java Engine, die PDFs aus Datenquellen und Layout generieren kann
> mit iReport Designer 4.0 gibt es einen guten WYSIWYG Editor, der die Einbindung von Datenquellen erlaubt.
> ...


 Damit teste ich momentan auch schon. Hab mich noch etwas schwer getan, meine Daten aus dem XML vernünftig mit iReport in die PDF zu bekommen - sieht aber wirklich recht elegant aus. 
Die Sinnhaftigkeit einer 1zu1 Kopie zweifle ich auch an, hat eher "politische" Gründe, dass ich das so hinnehmen muss. 
Danke dir für die Tipps!


----------



## Jon001 (29. Sep 2011)

hier noch einen XSL:FO WYSIWYG  Editor:

FO Designer 1.5. XSL-FO Editor for the Java[TM] Platform


----------

