In pratica sto realizzando un sito web per l'universit� in XML, XSL,
JS e PHP.
Il php lo uso per chiamare tramite la funzione exec() una shell unix
che avvia l'applicativo java Apache Fop versione 0.95, alla quale do
in input un file xml, un file xsl e lei mi genera il file pdf.
Qui sotto allego esempio di comando che dato tramite terminale
funziona correttamente:
/Library/Java/Home/fop/fop -xml /Users/jeky/Sites/iaacs/doc/cv/jd.xml -
xsl /Users/jeky/Sites/iaacs/xsl/xsl-fo/cv.xsl -pdf /Users/jeky/Sites/
iaacs/pdf/1248987819.pdf
Il comando sopra riportato dato da terminale mi genera correttamente
il file PDF chiamato 1248987819.pdf
Lo stesso comando eseguito invece tramite funzione exec() genera si il
file PDF, ma genera un PDF illeggibile, ovvero tale che l'applicativo
per leggere i PDF da il seguente errore:
"Impossibile aprire il documento. � possibile che sia danneggiato o in
un formato non riconosciuto da Anteprima."
Non riesco a capire come mai, l'unica cosa che mi viene in mente � che
per una questione di permessi exec() non riesce a richiamare tutte le
librerie corrette per la corretta generazione del file PDF.
COme posso risolvere il problema?
Qualche aiuto?
Allego anche il codice della mia pagina PHP:
<?php
# PDF CREATOR / SHELL SCRIPT EXE
class req {
var $xml;
var $xsl;
var $folder;
var $pdf;
function req($ml, $sl, $f) {
$this->xml=$ml;
$this->xsl=$sl;
$this->folder=$f;
}
function start() {
$this->pdf=time() . ".pdf";
exec("/Library/Java/Home/fop/fop -xml /Users/jeky/Sites/iaacs/
doc/" . $this->folder . "/" . $this->xml . " -xsl /Users/jeky/Sites/
iaacs/xsl/xsl-fo/" . $this->xsl . " -pdf /Users/jeky/Sites/iaacs/
pdf/" . $this->pdf);
}
function close() {
echo "<script>location.href='http://localhost/iaacs/pdf/" . $this-
>pdf . "';</script>";
}
}
$obj=new req($_GET['xmlSrc'], $_GET['xslSrc'], $_GET['folder']);
$obj->start();
$obj->close();
?>
Grazie in anticipo. Jacopo Daeli