dompdf is an HTML to PDF converter, requires PHP 5.0+ (5.3 recommended). This class is useful when you want to create PDF files with PHP.
Just create the content in HTML format, then use dompdf class to create PDF file(s) with that content.
- Download dompdf 0.6.0 beta 3.


- Handles most CSS 2.1 and a few CSS3 properties, including @import, @media & @page rules (CSS float is not supported).
- Supports most presentational HTML 4.0 attributes.
- Supports external stylesheets, either local or through http/ftp (via fopen-wrappers).
- Supports complex tables, including row & column spans, separate & collapsed border models, individual cell styling image support (gif, png (8, 24 and 32 bit with alpha channel), bmp & jpeg).

Example, create and save a PDF document from a HTML document defined directly in PHP.

$savein = 'pdfdir/';       // directory in which to save the PDF file

// the HTML content
$html = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="" lang="ro">
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Free Courses:</title>
<style type="text/css">
body {
 padding:1px 22px;
h1 {
 margin:3px auto;
p {
a {
 border:1px dotted #01da02;
 <h1>Free Courses for Web Development</h1>
 <a href="" title="Free Programming Courses">Free Programming Courses</a>
 <p>Put your html here, or generate it with your favourite templating system.</p>
 <img src="image.jpg" width="130" height="80" alt="Web Programming" />

// uses dompdf class to create the PDF file, save it and streams the file
$dompdf = new DOMPDF();
$dompdf->load_html($html);            // Loads the HTML string
$dompdf->render();                    // Renders the HTML to PDF

$pdf = $dompdf->output();             // gets the PDF as a string
file_put_contents(($savein.'file.pdf'), $pdf);           // save the pdf file on server

$dompdf->stream('file.pdf');      // Streams the PDF to the client. Will open a download dialog by default

- To see the result, click: PDF file.

Another example. The PDF document is generated on the fly by dompdf. The HTML content is loaded from an external file.

$html = file_get_contents('file.html');          // gets the HTML content as a string

// uses dompdf class to create the PDF file, and streams the file
$dompdf = new DOMPDF();
$dompdf->load_html($html);              // Loads the HTML string
$dompdf->render();                      // Renders the HTML to PDF
$dompdf->stream('file.pdf');      // Streams the PDF to the client. Will open a download dialog by default

If you want to use the HTML content from an external file, is better to not use load_html_file() (because can cause error /problems due to a security enhancement implemented); load the file into a variable using the PHP function file_get_contents().

- In the archive with dompdf class you'll find more examples, and documentation (in "www" directory, accessed from server).
dompdf Web Site.

Daily Test with Code Example

Which tag is a block element?
<div> <img> <span>
<div>Web Programming and Development</div>
Which CSS code displays the text underlined?
font-style: italic; text-decoration: underline; font-weight: 500;
h2 {
  text-decoration: underline;
Click on the JavaScript function that can access other function after a specified time.
insertBefore() setTimeout() querySelector()
function someFunction() { alert(""); }
setTimeout("someFunction()", 2000);
Click on the instruction that returns the number of items of a multidimensional array in PHP.
count($array) count($array, 1) strlen()
$food =["fruits" =>["banana", "apple"), "veggie" =>["collard", "pea"));
$nr_food = count($food, 1);
echo $nr_food;       // 6

Last accessed pages

  1. PHP getElementById and getElementsByTagName (27746)
  2. Add Tag to Selected Text in textarea with JavaScript (1626)
  3. JSON syntax in JavaScript (4197)
  4. Recursive function to create Multi-Level Menu in JavaScript (3255)
  5. innerHTML and outerHTML to Get and Replace HTML content (20934)

Popular pages this month

  1. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (2496)
  2. Contact page - CoursesWeb (2392)
  3. Tabs effect with CSS (2391)
  4. Insert, Select and Update NULL value in MySQL (1117)
  5. PHP getElementById and getElementsByTagName (990)