hh: pdf erzeugen mit apache fop serverseitig

Hallo,

ich muss mich leider mal wieder im Forum melden, da ich es einfach nicht hinbekomme. Ich möchte ein pdf file erzeugen aus einem xml-file und entsprechendem xsl-file. Nun habe ich hier ubuntu server mit apache2 und php5 laufen. ich habe auch schon fop und alle dazu notwendigen pakete installiert sowie java 1.4.2. ich habe mir schon die tutorials und die examples durchgelesen und bin ja verzückt, was dann alles möglich wäre (zB. bräuchte ich nicht einmal mehr meine xsl in xsl:fo umschreiben, aber das wäre das kleinere Problem).Ich weiss jetzt einfach nicht, wie ich das zum Laufen bringe. Z.Z. parse ich meine xml über ein einfacesh php-file mit dem xsl file als html ergebnis. Jetzt möchte ich aber nicht nur html haben, sondern auch die möglichkeit, pdf erzeugen. Ich werde aber einfach nicht schlau.

Ich habe von der Möglichkeit gelesen, dass man mit php java bridge in einem php file java ansprechen kann, allerdings hängt es da noch z.Z. da bei meinem ubuntu das kompilieren von php-java bridge nicht klappt, da php5-dev mit automake 1.4 installiert wird und das kompilieren aber automake 1.6.3 oder höher braucht. Aber das wäre dann ein zweiter Schritt, bzw bin ich dabei, das zu lösen.

Mein Problem ist, dass der einfache fop befehl funktioniert: fop -xmlquelle -xslfoquelle -pdfoutput, allerdings möchte ich das ganze serverseitig so realisieren, dass ich im Browser per knopdruck dann die entsprechende xml und xslfo als pdf ausgegeben wird. Es müsste ja auch "nur" mit java funktionieren. Mir liegt eine xml quelle und eine xsl:fo konformes stylsheet vor, ich brings aber einfach nicht zustande. Kennt jemand eine gutes Tutorial, was mir anschaulich den Weg aus dem dunklen Tunnel zeigt - Z.B. wo ich was noch einstellen muss und wie ich testen kann, ob es funktioniert bzw. woran es scheitert - Hier im FOrum habe ich bereits gelesen, dass dies eine nicht gerade einfache Sache ist ;-(usw.

Beste Grüße, Holger

  1. Hallo,

    Ich habe von der Möglichkeit gelesen, dass man mit php java bridge in einem php file java ansprechen kann, allerdings hängt es da noch z.Z. da bei meinem ubuntu das kompilieren von php-java bridge nicht klappt, da php5-dev mit automake 1.4 installiert wird und das kompilieren aber automake 1.6.3 oder höher braucht. Aber das wäre dann ein zweiter Schritt, bzw bin ich dabei, das zu lösen.

    Das ist aber der Knackpunkt, denn wenn diese Frage gelöst ist, kann du ja FOP über ein entsprechendes PHP-Script aufrufen.

    Kennt jemand eine gutes Tutorial, was mir anschaulich den Weg aus dem dunklen Tunnel zeigt - Z.B. wo ich was noch einstellen muss und wie ich testen kann, ob es funktioniert bzw. woran es scheitert - Hier im FOrum habe ich bereits gelesen, dass dies eine nicht gerade einfache Sache ist ;-(usw.

    Leider kann ich dir hier nicht weiterhelfen. Die Dokumentation unter http://php-java-bridge.sourceforge.net/ hast du sicher schon durch.

    Aber ich denke diese Seite: http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-users/200408.mbox/<009b01c47dfe$ea3b0c40$0100a8c0@pc07653> wird dir mehr helfen.

    und dies hier weiter http://xmlvortrag.bitflux.ch/#phpundjava

    Grüße
    Thomas

    1. Hallo Thomas,

      die Seiten hatte ich schon durchgelesen, allerdings habe ich wohl einen Satz überlesen:
      "On recent Debian X86 installations, Ubuntu for example, it is also possible to install the RPM binaries: Open the appropriate binary RPM with a file manager and drag and drop the contents of the lib/php directory to /usr/lib/lib php and restart apache."
      Das bedeutet also, ich bräuchte gar nicht kompilieren, werde das mal zu Hause ausprobieren und dann dazu die wiki anleitung durcharbeiten. Mal sehen wie weit ich komme;-) Mir macht nur noch sorge, dass ich in der php.ini ja dann doch vielleicht noch ein paar Einträge vornehmen muss. Na ja, never give up. Danke für deine Antwort.

  2. echo $begrüßung;

    [Apache, PHP, Java, FOP, PDF] Hier im FOrum habe ich bereits gelesen, dass dies eine nicht gerade einfache Sache ist ;-(

    Da ich nicht weiß, was du bereits gelesen hast, verweise ich dich mal auf </archiv/2005/12/t120202/>.

    echo "$verabschiedung $name";