PDF Generation With PHP - Pretty As A Picture (
Page 4 of 8 )
Now, that was a very simple example - but PHP's PDF
extension allows you to do a lot more than just write text to a page. Since a
picture is worth a thousand words, consider this next example, which
demonstrates the process of adding an image to your newly-minted PDF document.
<?php
// create handle for new PDF document
$pdf = pdf_new();
// open a file
pdf_open_file($pdf, "philosophy.pdf");
// start a new page (A4)
pdf_begin_page($pdf, 595, 842);
// get and use a font object
$arial = pdf_findfont($pdf, "Arial", "host", 1); pdf_setfont($pdf,
$arial, 10);
// print text
pdf_show_xy($pdf, "There are more things in heaven and earth, Horatio,",50, 750);
pdf_show_xy($pdf, "than are dreamt of in your philosophy", 50,730);
// add an image under the text
$image = pdf_open_image_file($pdf, "jpeg", "shakespeare.jpg");
pdf_place_image($pdf, $image, 50, 650, 0.25);
// end page
pdf_end_page($pdf);
// close and save file
pdf_close($pdf);
?>
Here's the PDF output:

Most of the magic here happens via the
pdf_open_image_file() and pdf_place_image() functions. The first one accepts an
image type - GIF, JPEG, TIFF or PNG - and file name as arguments, and returns an
image handle, which may then be re-used multiple times in the
document.
The image handle returned in the previous step can be used by
the pdf_place_image() function, which actually takes care of positioning the
image at a particular point on the page. The coordinates provided to this
function (the second and third arguments) refer to the position of the lower
left corner of the image, while the fourth argument specifies the scaling factor
to use when displaying the image (a scaling factor of 1 will show the image at
actual size, while a factor of 0.5 will reduce the image to half its
size).