Uso TCPDF (vea http://www.tcpdf.org/) para esto: es bastante capaz y no demasiado doloroso para obtener la configuración. Diré que dependiendo de su fuente de datos puede tener algunos problemas. En mi caso mis datos se obtiene de una interfaz SOAP a mi sistema de contabilidad y el uso CodeIgniter para mi aplicación, y puede hacer esto:
$address = $extraclient->get_company_address();
// generate the PDF invoice
$this->load->library('pdfinvoice');
// set document information
$this->pdfinvoice->SetSubject("Invoice " . $data_invoice['code_invoice']);
// add a page
$this->pdfinvoice->AddPage();
$this->pdfinvoice->StartPageOffset();
// write the client's details out
$width = $this->pdfinvoice->GetPageWidth()/2;
$margins = $this->pdfinvoice->getMargins();
$this->pdfinvoice->SetFont('times', 'b', $this->pdfinvoice->bigFont);
$this->_row($width, array("From:", "To:"));
$this->pdfinvoice->SetFont('times', 'i', $this->pdfinvoice->smallFont);
$this->_row($width, array("MY NAME", $customer['name_contact']));
$this->_row($width, array($address['phone'], $customer['name_customer']));
$this->_row($width, array($address['street'], $customer['address1_street']));
$this->_row($width, array($address['city']. ", ".$address['state']." ".$address['zipcode'],
$customer['address1_city']. ", ".$customer['address1_state']." ".$customer['address1_zip
El código completo es francamente demasiado largo para insertar aquí, pero usted debe entérate de la idea y obtienes un control de diseño bastante preciso.
¿Has encontrado FPDF? Lo analicé antes ... parecía mucho trabajo, pero prometiendo –
Sí, echándole un vistazo ahora, muy buen tutorial aquí: http://www.web-development-blog.com/archives/create-pdf- documents-online-with-tcpdf/ – Martin
Sugiero mirar el realreports.com, ellos una API y un editor de documentos basado en el navegador para crear diferentes plantillas. Encabeza, cobran por su servicio. – Tanel