在 codeigniter 中使用 dompdf 时外部 css 不工作
External css not working while using dompdf in codeigniter
$this->dompdf->setBasePath(realpath(FCPATH . '/assets/plugins/bootstrap/css/bootstrap.css'));
我在使用 DOMPdf 时无法调用外部 css。我正在使用 DOMPdf 库将 html 页面转换为 pdf。文件转换成功,但我无法调用外部 css 或图像。我该如何解决这个问题?
DomPDF 要求对您包含的任何内容使用绝对路径。
因此,您需要使用 $_SERVER['DOCUMENT_ROOT']
变量并将其与指向该文件的服务器路径的其余部分一起使用,例如$_SERVER['DOCUMENT_ROOT'].'assets/plugins/bootstrap/css/bootstrap.css';
警告语:
当嵌入大型 CSS 文件(例如 bootstrap 时,DomPDF 的性能会急剧下降(即使您不使用大量格式化)。我的建议是在视图中内联您需要的特定样式,而不是链接完整的 bootstrap 库以允许更快的 dompdf 渲染。
前段时间我遇到了这个问题,在做了很多研究之后,我在这里发布了一个问题(和答案),希望它能在未来对其他人有所帮助。我推荐阅读
您可以在创建 DomPdf 对象时使用 isRemoteEnabled = false 属性
$dompdf = new \Dompdf\Dompdf(['isRemoteEnabled' => true]);
您可以在 DomPdf github Options.php 文件中阅读有关此选项的信息。如果 isRemoteEnabled 设置为 true,DOMPDF 将根据需要访问远程站点以获取图像和 CSS 文件。
另一种选择是将 css 样式包含在带有标签的视图中。
$this->dompdf->setBasePath(realpath(FCPATH . '/assets/plugins/bootstrap/css/bootstrap.css'));
我在使用 DOMPdf 时无法调用外部 css。我正在使用 DOMPdf 库将 html 页面转换为 pdf。文件转换成功,但我无法调用外部 css 或图像。我该如何解决这个问题?
DomPDF 要求对您包含的任何内容使用绝对路径。
因此,您需要使用 $_SERVER['DOCUMENT_ROOT']
变量并将其与指向该文件的服务器路径的其余部分一起使用,例如$_SERVER['DOCUMENT_ROOT'].'assets/plugins/bootstrap/css/bootstrap.css';
警告语:
当嵌入大型 CSS 文件(例如 bootstrap 时,DomPDF 的性能会急剧下降(即使您不使用大量格式化)。我的建议是在视图中内联您需要的特定样式,而不是链接完整的 bootstrap 库以允许更快的 dompdf 渲染。
前段时间我遇到了这个问题,在做了很多研究之后,我在这里发布了一个问题(和答案),希望它能在未来对其他人有所帮助。我推荐阅读
您可以在创建 DomPdf 对象时使用 isRemoteEnabled = false 属性
$dompdf = new \Dompdf\Dompdf(['isRemoteEnabled' => true]);
您可以在 DomPdf github Options.php 文件中阅读有关此选项的信息。如果 isRemoteEnabled 设置为 true,DOMPDF 将根据需要访问远程站点以获取图像和 CSS 文件。
另一种选择是将 css 样式包含在带有标签的视图中。