Sto utilizzando Zend Framework e la libreria DOMPDF. Quando lo collaudo con css inline tutto funziona perfettamente. Ma quando ho provato a spostare il codice CSS al file esterno le regole non sono applicate alla pagina html.DOMPDF non funziona con file css esterno
Ecco il mio codice.
- Codice dell'azione di controllo, che generano pdf
require_once ("dompdf/dompdf_config.inc.php");
$this->_helper->layout->disableLayout();
$html = $this->view->render('index/dom.phtml');
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$pdfContent = $dompdf->output();
file_put_contents('sample.pdf', $pdfContent);
die("test");
2.Code di vista corrispondente (indice/dom.phtml)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link type="text/css" href="/themes/css/pdf.css" rel="stylesheet" media="screen"/>
</head>
<body>
<div>Tamara testing</div>
<table border="1">
<tr>
<th>Column 1</th>
<th>Column 2</th>
</tr>
<tr>
<td>Value 1</td>
<td>Value 2</td>
</tr>
</table>
</body>
</html>
3.And mio file css:
div {color: red;}
Come rendere funziona?
UPDATE:
Per rendere più funziona Ho cambiato le seguenti cose:
1.In azione del Controller Aggiungi percorso di base per i file esterni
attributo$dompdf->set_base_path(APPLICATION_PATH."/../public/themes/css/");
2.In vista cambiamento href di il tag link. Rendono relativo al percorso di base impostata al punto 1.
<link type="text/css" href="pdf.css" rel="stylesheet" />
Nel caso qualcuno lo trovi su un motore di ricerca (proprio come ho fatto io), si noti che c'è un'altra opzione chiamata 'DOMPDF :: set_protocol()', vedere la mia risposta sotto per maggiori informazioni. –