Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1.  
  2. // pon esto en el template que desees o en tu archivo .js
  3. <script type="text/javascript">
  4.  
  5. $().ready(function() {
  6.     $('#pdf').click(function() {
  7.         var f = document.createElement('form');
  8.       f.style.display = 'none';
  9.       this.parentNode.appendChild(f);
  10.       f.method = 'post';
  11.       f.action = '<?php echo url_for('asociado/Pdf')?>';
  12.       var m = document.createElement('input');
  13.       m.setAttribute('type', 'hidden');
  14.       m.setAttribute('name', 'html');
  15.       m.setAttribute('value', $('#job').html());
  16.       f.appendChild(m);
  17.       f.submit();
  18.       return false;
  19.     });
  20.   });
  21.  
  22. </script>
  23.  
  24. // ubica esto en el html de tu template
  25.     <div class="pdf">
  26.       <a id="pdf" href="#">PDF</a>
  27.     </div>
  28.  
  29. // este método se agrega a la clase action
  30.   /**
  31.   *  Esta acción se encarga de la creación de el PDF
  32.   */
  33.   public function executePdf(sfWebRequest $request)
  34.   {
  35.  
  36.     $html = $request->getPostParameter('html');
  37.  
  38.     $mpdf = new mPDF('es_ES','Letter','','',32,25,27,25,16,13);
  39.     $mpdf->useOnlyCoreFonts = true;
  40.  
  41.     // load a stylesheet
  42.     $stylesheet = file_get_contents(sfConfig::get('sf_web_dir').'/css/mypdf.css');
  43.     $mpdf->WriteHTML($stylesheet,1); // el parámetro le dice que sólo es css y no contenido html
  44.     $mpdf->WriteHTML($html,2);
  45.  
  46.     $mpdf->Output('mpdf.pdf','D');
  47.     throw new sfStopException();
  48.   }