Sei sulla pagina 1di 4

7/29/2019 GitHub - dompdf/dompdf: HTML to PDF converter (PHP5)

dompdf / dompdf

Dismiss
Join GitHub today
GitHub is home to over 36 million developers working together to host
and review code, manage projects, and build software together.
Sign up

HTML to PDF converter (PHP5) http://dompdf.github.com/


# dompdf # php # font # html # css # html-to-pdf # pdf-generation

995 commits 5 branches 13 releases 100 contributors LGPL-2.1


Branch: master New pull request Find File Clone or download
Sylk and bsweeney Update README.md … Latest commit d30679a on Apr 11
lib Merge branch 'master' into develop 9 months ago
src Fixed calculation of minimum width of text if 'word-wrap' is 'break-w… 9 months ago
tests Test enhancement (#1723) 9 months ago
.gitattributes Remove development files/folders for export 3 years ago
.gitignore Added unit tests 5 years ago
.travis.yml Test enhancement (#1723) 9 months ago
CONTRIBUTING.md Fix dev branch name 2 years ago
LICENSE.LGPL Update license, hacking, makefile 10 years ago
README.md Update README.md 3 months ago
VERSION Add version information 4 years ago
composer.json Merge branch 'master' into develop 9 months ago
phpcs.xml Added actual coding standards based on PSR2 3 years ago
phpunit.xml.dist fixes #1823 - Warning when running tests with PHPUnit 7.4 9 months ago
README.md

Dompdf

stable v0.8.3 downloads
14.32 M
unstable dev-master license LGPL-2.1

Dompdf is an HTML to PDF converter


At its heart, dompdf is (mostly) a CSS 2.1 compliant HTML layout and rendering engine written in PHP. It is a style-driven
renderer: it will download and read external stylesheets, inline style tags, and the style attributes of individual HTML
elements. It also supports most presentational HTML attributes.
This document applies to the latest stable code which may not reflect the current release. For released code please
navigate to the appropriate tag.
https://github.com/dompdf/dompdf 1/4
7/29/2019 GitHub - dompdf/dompdf: HTML to PDF converter (PHP5)
Check out the demo and ask any question on StackOverflow or on the Google Groups.
Follow us on .

Features
Handles most CSS 2.1 and a few CSS3 properties, including @import, @media & @page rules
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)
No dependencies on external PDF libraries, thanks to the R&OS PDF class
Inline PHP support
Basic SVG support
Requirements
PHP version 5.4.0 or higher
DOM extension
GD extension
MBString extension
php-font-lib
php-svg-lib
Recommendations
OPcache (OPcache, XCache, APC, etc.): improves performance
IMagick or GMagick extension: improves image processing performance
Visit the wiki for more information: https://github.com/dompdf/dompdf/wiki/Requirements
About Fonts & Character Encoding
PDF documents internally support the following fonts: Helvetica, Times-Roman, Courier, Zapf-Dingbats, & Symbol. These
fonts only support Windows ANSI encoding. In order for a PDF to display characters that are not available in Windows
ANSI, you must supply an external font. Dompdf will embed any referenced font in the PDF so long as it has been pre-
loaded or is accessible to dompdf and reference in CSS @font-face rules. See the font overview for more information on
how to use fonts.
The DejaVu TrueType fonts have been pre-installed to give dompdf decent Unicode character coverage by default. To use
the DejaVu fonts reference the font in your stylesheet, e.g. body { font-family: DejaVu Sans; } (for DejaVu Sans). The
following DejaVu 2.34 fonts are available: DejaVu Sans, DejaVu Serif, and DejaVu Sans Mono.
Easy Installation
Install with composer
To install with Composer, simply require the latest version of this package.
composer require dompdf/dompdf

Make sure that the autoload file from Composer is loaded.


https://github.com/dompdf/dompdf 2/4
7/29/2019 GitHub - dompdf/dompdf: HTML to PDF converter (PHP5)

// somewhere early in your project's loading, require the Composer autoloader


// see: http://getcomposer.org/doc/00-intro.md
require 'vendor/autoload.php';

Download and install


Download an archive of dompdf and extract it into the directory where dompdf will reside
You can download stable copies of dompdf from https://github.com/dompdf/dompdf/releases
Or download a nightly (the latest, unreleased code) from http://eclecticgeek.com/dompdf
Use the packaged release autoloader to load dompdf, libraries, and helper functions in your PHP:
// include autoloader
require_once 'dompdf/autoload.inc.php';

Install with git


From the command line, switch to the directory where dompdf will reside and run the following commands:
git clone https://github.com/dompdf/dompdf.git
cd dompdf

git clone https://github.com/PhenX/php-font-lib.git lib/php-font-lib
cd lib/php-font-lib
git checkout 0.5.1
cd ..

git clone https://github.com/PhenX/php-svg-lib.git php-svg-lib
cd php-svg-lib
git checkout v0.3

Require dompdf, libraries, and helper functions in your PHP:


require_once 'dompdf/lib/html5lib/Parser.php';
require_once 'dompdf/lib/php-font-lib/src/FontLib/Autoloader.php';
require_once 'dompdf/lib/php-svg-lib/src/autoload.php';
require_once 'dompdf/src/Autoloader.php';
Dompdf\Autoloader::register();

Quick Start
Just pass your HTML in to dompdf and stream the output:
// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class


$dompdf = new Dompdf();
$dompdf->loadHtml('hello world');

// (Optional) Setup the paper size and orientation


$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF


$dompdf->render();

// Output the generated PDF to Browser


$dompdf->stream();

https://github.com/dompdf/dompdf 3/4
7/29/2019 GitHub - dompdf/dompdf: HTML to PDF converter (PHP5)

Setting Options
Set options during dompdf instantiation:
use Dompdf\Dompdf;
use Dompdf\Options;

$options = new Options();


$options->set('defaultFont', 'Courier');
$dompdf = new Dompdf($options);

or at run time
use Dompdf\Dompdf;

$dompdf = new Dompdf();


$dompdf->set_option('defaultFont', 'Courier');

See Dompdf\Options for a list of available options.


Limitations (Known Issues)
Dompdf is not particularly tolerant to poorly-formed HTML input. To avoid any unexpected rendering issues you
should either enable the built-in HTML5 parser at runtime ( $dompdf->set_option('isHtml5ParserEnabled',
true); ) or run your HTML through a HTML validator/cleaner (such as Tidy or the W3C Markup Validation Service).

Large files or large tables can take a while to render.


CSS float is in development and may not produce the desired result

If you find this project useful, please consider making a donation. Any funds donated will be used to help further
development on this project.)

https://github.com/dompdf/dompdf 4/4

Potrebbero piacerti anche