Example #1
0
 /**
  * @ignore 
  */
 protected function obtener_pdf($xml)
 {
     /*
       Hay problemas para procesar en servidores remotos... por tema de recursos, es decir,
       si queremos que el pdf contenga una imagen, o que llame a otro xsl, etc. 
       Tal vez se podría enviar un tar.gz, un jar, o zip en donde se arme la estructura de 
       directorios necesaria, y se indique en un archivo tipo INF cual es el path al xsl 
       inicial, tipo de transformación, etc.
     
       habría que hablarlo...
     
       por ahora se procesa el xml con el xsl y se envía el fo
     */
     $xsl = new DOMDocument();
     $xsl->loadXML($this->xsl_proyecto);
     $doc = new DOMDocument();
     $doc->loadXML($xml);
     $xslt = new XSLTProcessor();
     $xslt->importStylesheet($xsl);
     //El servicio fop debe tener una funcion procesar que acepte 2 atributos:
     // 1. el archivo fo
     // 2. el tipo de transformación.
     $cliente = new SoapClient($this->fop);
     $pdf = $cliente->procesar(array('fo' => $xslt->transformToXML($doc), 'tipo' => 'pdf'));
     return base64_decode($pdf);
 }