How to Convert HTML to PDF with DOMPdf

This tutorial we are going to Generate PDF file using DOMPdf. Dompdf is powerful library for generating PDF files. So let’s get started with simple example.

Download composer and install it.

Use below command to get it from github.

composer require dompdf/dompdf

include autoload file make sure it’s loaded or not.

require('./vendor/autoload.php');

Let’s create index.php file and run it .

<?php
require('./vendor/autoload.php');
// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class
$dompdf = new Dompdf(array('enable_remote' => true));


$html = "<table  width='100%' style='border-collapse: collapse; table-layout:fixed;'>
        <tr>
            <td>Logo Here</td>
            <td style='text-align: -webkit-right;'>
				<table style='text-align:right;' align='right'>
					<tr><td>John Deo</td></tr>
					<tr><td>Germany</td></tr>
					<tr><td>Danmark, DE</td></tr>
					<tr><td>info@example.com</td></tr>
				</table>
			</td>
        </tr>
        </table>";
		
$html .= "<table  width='100%' style='border-collapse: collapse; table-layout:fixed;'>
	<tr>
		<td><h3>Marcel Deo</h3></td>
	</tr>

</table>";
		
$html .= "<table  width='100%' style='border-collapse: collapse; table-layout:fixed;'>
		<tr>
			<td>
				<table style='font-size: 12px;'>
					<tr><td><strong>Date: </strong></td><td>2021-20-3</td></tr>
					<tr><td><strong>Client: </strong></td><td>pion</td></tr>
				</table>
			</td>
			<td></td>
		</tr>
</table>";

$html .= "<table  width='100%' style='border-collapse: collapse; table-layout:fixed;'>
<tr>
		<td><br/>
			<p>Loren IPSUM</p>
			<p>Loren ipsim dummy text</p>
			data korne up sum drate st text<br/><br/>
			data korne up sum drate st textdata korne up sum drate st textdata korne up sum drate st textdata korne up sum drate st textdata korne up sum drate st text<br/><br/>
			data korne up sum drate st textdata korne up sum drate st textdata korne up sum drate st textdata korne up sum drate st text<br/><br/>
			
			
		</td>
</tr></table>";
	
		
		
$customPaper = array(0,0,600,860);
$dompdf->set_paper($customPaper);
$dompdf->loadHtml($html);

// (Optional) Setup the paper size and orientation
//$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF
$dompdf->render();

$output = $dompdf->output();

	
$dompdf->stream('dompdf.pdf',array("Attachment"=>0));

//$output = $dompdf->output();
// Output the generated PDF to Browser
//$dompdf->stream();

?>

$dompdf->set_paper($customPaper);

Set paper size as per needs, we can set custom width and height.

$dompdf->stream(‘dompdf.pdf’,array(“Attachment”=>0));

attachment set 0 which means render pdf file on browser. if that set 1 browser download the file.

Leave a Reply