Una factura PDF
<?php
if (!extension_loaded('pdf')) {
    echo 
'Este servidor no puede generar PDFs, ';
    echo 
'pero puedes bajar <a href="invoice.pdf">la factura</a> ';
    echo 
'previamente generada por este programa';
    exit;
}
$pdf pdf_new();
pdf_open_file($pdf);
pdf_set_info($pdf"Author","Jes&#250;s M. Castagnetto");
pdf_set_info($pdf"Title","Ejemplo de Factura");
pdf_set_info($pdf"Creator""Jes&#250;s M. Castagnetto");
pdf_set_info($pdf"Subject""Ejemplo de Factura");

$sizes = array('a4'=>'595x842''letter'=>'612x792''legal'=>'612x1008');

if(!isset(
$type)) $type='a4';
list(
$x,$y) = explode('x',$sizes[$type]);

$items = array(array('Un programa simple que hace de todo','299.99'),
               array(
'El programa especial sin el que el anterior no corre','1899'),
               array(
'Una libreria de comunicacion','29.95'),
               array(
'Un programa para bloquear la comunicacion','49.95'),
               array(
'Una libreria que comprime todo a 1 byte','49.9'),
               array(
'Y un programa que permite recuperar lo comprimido a 1 byte','39999.95'),
              );

pdf_begin_page($pdf$x$y);

$imagepath realpath('../images/booger.jpg');
$im pdf_open_jpeg($pdf$imagepath);
pdf_place_image($pdf$im5$y-720.5);
pdf_close_image ($pdf,$im);

pdf_set_value($pdf'textrendering'0); // fill

pdf_set_font($pdf"Helvetica" 12winansi);
pdf_show_xy($pdf'Micro Snot & L4m3r5 S.R.L.',145,$y-20);
pdf_continue_text($pdf'123 Calle del Dolor');
pdf_continue_text($pdf'Tacora, Lima 666');

pdf_set_font($pdf"Helvetica" 10winansi);
pdf_show_xy($pdf'Cliente Sin Salvacion S.A.',20,$y-100);
pdf_continue_text($pdf'1 Calle Pequena');
pdf_continue_text($pdf'Cuidad Perdida, Puno 123');

pdf_set_font($pdf"Helvetica" 10winansi);
pdf_show_xy($pdf'Terminos: Pago Completo 15 horas',150,$y-100);
pdf_continue_text($pdf'Apt. Postal:  12345');

pdf_set_font($pdf"Helvetica-Bold" 30winansi);
pdf_show_xy($pdf"* F A C T U R A *",$x-250,$y-112);

pdf_setcolor($pdf,'fill','gray',0.9,0,0,0);
pdf_rect($pdf,20,80,$x-40,$y-212);
pdf_fill_stroke($pdf);

$offset 184$i=0;
while(
$y-$offset 80) {
    
pdf_setcolor($pdf,'fill','gray',($i%2)?0.8:1,0,0,0);
    
pdf_setcolor($pdf,'stroke','gray',($i%2)?0.8:1,0,0,0);
    
pdf_rect($pdf,21,$y-$offset,$x-42,24);
    
pdf_fill_stroke($pdf);
    
$i++; $offset+=24;
}

pdf_setcolor($pdf,'fill','gray',0,0,0,0);
pdf_setcolor($pdf,'stroke','gray',0,0,0,0);
pdf_moveto($pdf20,$y-160);
pdf_lineto($pdf$x-20,$y-160);
pdf_stroke($pdf);

pdf_moveto($pdf$x-140,$y-160);
pdf_lineto($pdf$x-140,80);
pdf_stroke($pdf);

pdf_set_font($pdf"Times-Bold" 18winansi);
pdf_show_xy($pdf"Articulo",30,$y-150);
pdf_show_xy($pdf"Precio",$x-100,$y-150);


pdf_set_font($pdf"Times-Italic" 15winansi);

$offset 177;
foreach(
$items as $item) {
    
pdf_show_xy($pdf$item[0],30,$y-$offset);
    
pdf_show_boxed($pdf'$'.number_format($item[1],2), $x-55$y-$offset00'right');
    
$offset+=24;
    
$total += $item[1];
}

pdf_set_font($pdf"Times-Bold" 17winansi);
$offset+=24;
pdf_show_xy($pdf'Total',30,$y-$offset);
pdf_show_boxed($pdf'$'.number_format($total,2), $x-55$y-$offset00'right');

pdf_end_page($pdf);
pdf_close($pdf);

$data pdf_get_buffer($pdf);
header('Content-type: application/pdf');
header("Content-disposition: inline; filename=invoice.pdf");
header("Content-length: " strlen($data));
echo 
$data;
?>
Output