我正在使用Dompdf来生成php中的报告。我无法将相同的外部样式表包括在内......
我使用的代码类似于以下内容:
<?php
require_once "dompdf/dompdf_config.inc.php";
$dompdf = new DOMPDF();
$html ="
<table>
<tr >
<td class='abc'>testing table</td>
</tr>
<tr>
<td class='def'>Testng header</td>
</tr>
</table>";
$dompdf->load_html($html);
$dompdf->render();
$dompdf->set_base_path('localhost/exampls/style.css');
$dompdf->stream("hello.pdf");
?>
请告诉我如何包含外部css文件..
答案 0 :(得分:7)
$dompdf->set_base_path()
不是您指定CSS的地方。该方法使您有机会定义附加到文档中相对路径的基本路径。
您的CSS应该是您向dompdf提供的HTML的一部分。如下所示:
<?php
require_once "dompdf/dompdf_config.inc.php";
$dompdf = new DOMPDF();
$html ="
<html>
<head>
<link type="text/css" href="localhost/exampls/style.css" rel="stylesheet" />
</head>
<body>
<table>
<tr >
<td class='abc'>testing table</td>
</tr>
<tr>
<td class='def'>Testng header</td>
</tr>
</table>
</body>
</html>";
$dompdf->load_html($html);
$dompdf->render();
$dompdf->set_base_path('localhost/exampls/style.css');
$dompdf->stream("hello.pdf");
?>
将dompdf视为呈现为PDF而非屏幕的Web浏览器。您可以像使用任何Web浏览器一样为其提供有效的HTML文档。
答案 1 :(得分:0)
dompdf支持一些CSS 2.1选择器语法。 dompdf还支持具有多个类属性(e.g. <p class="red bold">foo</p> matches p.red and p.bold
)的元素。
请注意,dompdf中的CSS选择器区分大小写(例如.foo
与<div class="FOO">bar</div>
不匹配)
阅读http://code.google.com/p/dompdf/wiki/CSSCompatibility或Git https://github.com/dompdf/dompdf/wiki/CSSCompatibility
答案 2 :(得分:0)
这对 v1.0.2 有帮助。我有一些从 CLI 生成 PDF 的特定用例。
$dompdf->getOptions()->setChroot($this->projectDir . DIRECTORY_SEPARATOR . 'www'); //path to document root
然后
<link type="text/css" href="build/css/pdf_results.css" rel="stylesheet"/> //must not start with slash
从其他目录而不是文档根目录调用 CLI 脚本时,您还必须设置
$dompdf->setBasePath($this->projectDir . DIRECTORY_SEPARATOR . 'www');