Re: Re: PDF erstellen...

Christian Stocker <[email protected]> Mon, 18 Jul 2005 10:44:13 +0200
Newsgroups gmane.comp.cms.bitflux.general.german
Message-ID <[email protected]>

On 18.7.2005 10:36 Uhr, Thomas Baumann wrote:
> Fragen (s.u.)
> (1) Wie sieht der Link zum "dynamischen-PDF" aus ?

wenn du schon einen link zum beispiel zu

http://foobar.com/irgendwas/index.html hast, dann w=E4r der link
http://foobar.com/irgendwas/index.pdf
(falls du den das ganze im .configxml richtig eingestellt hast)

das produziert das gleiche Input XML wie mit html. Also kannst du das
Input XML mit
http://foobar.com/irgendwas/index.html?XML=3D1 anschauen (nur wenn du als
als admin eingelogt bist)

Zu diesem Input XML musst du dann ein XSLT schreiben, dass dir das
gew=FCnschte xsl:fo produziert. Kurz gesagt, statt dem HTML aus den
anderen XSLT produzierst du nun xsl:fo.

> (2) Wie sieht eine fop-conf.xml aus ?

steht in der fop dokumentation (http://xml.apache.org/fop/)

> (3) Wie k=F6nnte eine druckbild.xsl aussehen,=20
>     die das Format DIN A4 und eine Kopfzeile mit der URL und einer
>     Fu=DFzeile mit der Seitenzahl enth=E4lt und nur aus dem content
>     besteht ?

zu xsl:fo gibt's einiges an Doku im Netz. Z.b. auf
http://xml.apache.org/fop/resources.html#documents

> (4) Wie wird dieses xsl dann eingebunden ?

=FCber den parameter unten:

<parameter type=3D"pipeline" name=3D"xslt" value=3D"xml2fo.xsl"/>

value ist dann das xslt, das dass fo generiert.

chregu

>=20
> Danke & liebe Gr=FC=DFe
>=20
> - tom
>=20
>=20
>>Ok, here we go:
>>
>>Wo immer du PDF output willst, f=FCge (ungef=E4hr) folgendes in .config=
xml ein.
>>
>><plugins>
>> <extension type=3D"pdf">
>>   <parameter type=3D"pipeline" name=3D"xslt" value=3D"xml2fo.xsl"/>
>>   <parameter type=3D"pipeline" name=3D"pipelineName" value=3D"fo"/>
>>   <plugin type=3D"xhtml" ></plugin>
>></plugins>
>=20
>=20
> Wie rufe ich dann =FCber den Browser das pdf auf ?
> Ein http://meinesite/index.pdf funktioniert ja nicht.
> Wie sieht der Link zum "dynamischen-PDF" aus ?
>=20
>=20
>>Je nachdem, von wo dein Content kommt, musst du nat=FCrlich ein anderes
>>plugin verwenden, wichtig sind beim Beispiel nur die 3 ersten Zeilen
>>(extension und parameter). Damit wird die fo pipeline aufgerufen,
>>nachdem der content mit xml2fo.xsl zu xsl:fo umgewandelt wurde.
>>
>>Diese Pipeline benutzt den fo2pdf serializer aus popoon
>>(inc/popoon/components/serializers/fo2pdf.php) zusammen mit Apache FOP
>>und erwartet das FOP script definiert in conf/config.xml unter foPath.
>>Das sieht bei uns etwa so aus:
>>
>><options>
>><foPath>/usr/bin/fop</foPath>
>><foConfig>conf/fop-conf.xml</foConfig>
>>...
>></options>
>=20
>=20
> Wie sieht eine fop-conf.xml aus ?
>=20
>=20
>>Beim testen muss man beachten, dass der fo2pdf.php serializer cached un=
d
>>kein neues PDF generiert, wenn der Input der gleiche bleibt. Evt. ab un=
d
>>zu das tmp/ Verzeichnis l=F6schen hilft .)
>=20
>=20

--=20
christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60  | fax +41 1 240 56 71
http://www.bitflux.ch  |  [email protected]  |  gnupg-keyid 0x5CE1DECB