我正在使用Zend框架和DOMPDF庫。當我用內聯css測試它時,一切都很完美。但是當我試圖將CSS代碼移動到外部文件規則不適用於HTML頁面。DOMPDF不適用於外部css文件
這是我的代碼。的代碼控制器的動作,這生成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");
相應的視圖(索引/ dom.phtml)的2.Code
<!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我的CSS文件:
div {color: red;}
如何使它工作?
UPDATE:
爲了讓我的作品改變了以下幾件事:
1.In控制器的操作添加基本路徑外部文件
的$dompdf->set_base_path(APPLICATION_PATH."/../public/themes/css/");
2.In視圖改變href屬性鏈接標籤。使其相對於在步驟1中
<link type="text/css" href="pdf.css" rel="stylesheet" />
如果有人在搜索引擎上發現了這個問題(就像我一樣),請注意還有一個選項叫做'DOMPDF :: set_protocol()',請參閱下面的答案以獲取更多信息。 –