Let's start with the classic example:
After including the library file, we create an FPDF object.
The FPDF() constructor is used here with the default values: pages are in A4 portrait and
the unit of measure is millimeter. It could have been specified explicitly with:
It is possible to use landscape (
L), other page formats (such as
Legal) and units of measure (
There is no page for the moment, so we have to add one with AddPage(). The origin
is at the upper-left corner and the current position is by default placed at 1 cm from the
borders; the margins can be changed with SetMargins().
Before we can print text, it is mandatory to select a font with SetFont(), otherwise the
document would be invalid. We choose Arial bold 16:
We could have specified italics with I, underlined with U or a regular font with an empty string
(or any combination). Note that the font size is given in points, not millimeters (or another
user unit); it is the only exception. The other standard fonts are Times, Courier, Symbol and
We can now print a cell with Cell(). A cell is a rectangular area, possibly framed,
which contains a line of text. It is output at the current position. We specify its dimensions,
its text (centered or aligned), if borders should be drawn, and where the current position
moves after it (to the right, below or to the beginning of the next line). To add a frame, we would do this:
To add a new cell next to it with centered text and go to the next line, we would do:
$pdf->Cell(40,10,'Hello World !',1);
Remark: the line break can also be done with Ln(). This method additionnaly allows to specify
the height of the break.
$pdf->Cell(60,10,'Powered by FPDF.',0,1,'C');
Finally, the document is closed and sent to the browser with Output(). We could have saved
it to a file by passing the desired file name.
Caution: in case when the PDF is sent to the browser, nothing else must be output by the
script, neither before nor after (no HTML, not even a space or a carriage return). If you send something
before, you will get the error message: "Some data has already been output, can't send PDF file". If you
send something after, the document might not display.