Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to include the external style sheet in dom pdf

Tags:

php

dompdf

I am using Dompdf for the report generation in the php. I am not able to include the external style sheet for the same...

The code I am using is similar to the following:

<?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");
?>

Please let me know how to include the external css file..

like image 533
Kiran Avatar asked Nov 06 '13 05:11

Kiran


People also ask

How is an external style sheet be included?

An external style sheet is a separate CSS file that can be accessed by creating a link within the head section of the webpage. Multiple webpages can use the same link to access the stylesheet. The link to an external style sheet is placed within the head section of the page.

Where is the code to link an external style sheet?

External files are specified in <link> tag inside <head> of the document.


1 Answers

$dompdf->set_base_path() isn't where you specify your CSS. That method gives you the opportunity to define a base path that is appended to relative paths in the document.

Your CSS should be part of the HTML you feed to dompdf. Something like the following:

<?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");
?>

Think of dompdf as a web browser that renders to PDF instead of a screen. You feed it a valid HTML document just like you would any web browser.

like image 167
BrianS Avatar answered Oct 10 '22 23:10

BrianS