una source sistema open numero inventario hacer generar facturacion factura crear con como php pdf-generation

source - PHP crear factura PDF



sistema de facturacion e inventario en php y mysql (6)

Hola, ¿alguien sabe cómo puedo crear una factura en PDF bien formateada a través de PHP?

Idealmente, estoy buscando algo con un encabezado y luego una lista detallada de los productos con algún tipo de tabla alrededor. Después de un rápido Google, me sentiría cómodo generando un PDF, pero intentarlo y darle un estilo agradable sería otra cosa.

Gracias


A pesar de que puede generar documentos pdf mediante programación, hemos descubierto que es mejor si simplemente genera una página HTML del documento PDF y utiliza algún tipo de herramienta / servicio para convertir HTML a PDF.

Si está buscando una aplicación que pueda alojar, puede verificar esto:

  • wkhtmltopdf - usa webkit para renderizar html a pdf. Funciona bien con algunas advertencias.
  • PhantomJS - DISCONTINUADO , no sugeriría usarlo.
  • Chrome sin cabeza : lo mejor de todo, pero por sí solo no es una solución. Necesita un módulo de cliente según su entorno de lenguaje de programación.

En caso de que no desee manejar la utilidad, hay una gran cantidad de servicios en línea gratuitos / de pago, algunos de ellos enumerados a continuación:


Es posible que desee ver html2Pdf. Es una clase php basada en FPDF y te permite crear archivos PDF desde HTML. Tan solo formatea tu texto usando html y luego crea su pdf. Es muy flexible y da gran control.

Enlace de SourceForge


La generación de PDF tiende a ser complicada. Siempre que la factura sea relativamente simple, recomendaría crear un archivo de imagen de plantilla y utilizar imagettftext para imprimir cadenas sobre él (o cualquier otra biblioteca).

Para la conversión de archivos de imagen a PDF, se puede utilizar el conjunto de herramientas imagemagick (siempre que esté disponible en el servidor):

exec(''convert -units /'PixelsPerInch/' -density 150 ''.$filename.''.png ''.$filename.''.pdf'');

Para mí todo el enfoque funcionó sin problemas.


Recomendaría crear una representación html / css de lo que quiere un PDF y usarla para generar el PDF. Hay docenas de aplicaciones para manejar la conversión, y hay un buen hilo con muchas respuestas aquí: ¿ Convertir HTML + CSS a PDF con PHP?


Uso TCPDF (vea http://www.tcpdf.org/ ) para esto: es bastante capaz y no es demasiado doloroso para configurarlo. Diré que, dependiendo de su fuente de datos, puede tener algunos problemas. En mi caso, mis datos provienen de una interfaz SOAP para mi sistema de contabilidad y uso CodeIgniter para mi aplicación, y puedo 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 insertarlo aquí, pero debe tener la idea y obtener un control de diseño bastante preciso.


packagist.org/packages/quickshiftin/php-pdf-invoice biblioteca de packagist.org/packages/quickshiftin/php-pdf-invoice del compositor. La biblioteca ya está diseñada para generar una factura, por lo que es fácil y rápida de integrar.

composer require quickshiftin/php-pdf-invoice

Puedes generar archivos PDF que se ven así

Hay un ejemplo de uso en el README. Esencialmente implementas dos interfaces, una para pedidos y otra para artículos de pedido. También puedes configurar fuentes y colores a tu gusto.