The first line defines where the font directory resides, relative to the current directory.
Then, 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 measure unit is millimeter. It could have been specified explicitly with:
It is possible to use landscape (L), other page formats (such as Letter and
Legal) and measure units (pt, cm, in).
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 some 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:
$pdf->Cell(40,10,'Hello World !',1);
To add a new cell next to it with centered text and go to the next line, we would do:
$pdf->Cell(60,10,'Powered by FPDF.',0,1,'C');
Remark : the line break can also be done with Ln(). This method allows to specify
in addition the height of the break.
Finally, the document is closed and sent to the browser with Output(). We could have saved
it in a file by passing the desired file name.
Caution: in case when the PDF is sent to the browser, nothing else must be output, not before
nor after (the least space or carriage return matters). If you send some data before, you will
get the error message: "Some data has already been output to browser, can't send PDF file". If
you send after, your browser may display a blank page.