PHP créer une facture PDF

Bonjour Est-ce que quelqu'un sait comment je peux créer une facture PDF joliment formatée à travers PHP?

idéalement, je cherche quelque chose avec un en-tête et ensuite une liste détaillée des produits avec une sorte de table autour. Après un rapide Google je serais à l'aise avec la génération D'un PDF, mais pour essayer et le style il serait bien autre chose tout à fait.

Merci

22
demandé sur Martin 2011-05-06 21:03:10

5 réponses

j'utilise TCPDF (voir http://www.tcpdf.org / ) pour ceci: son assez capable et pas trop douloureux pour se mettre en place. Je dirai que selon votre source de données, vous pourriez avoir des problèmes. Dans mon cas, mes données proviennent d'une interface SOAP vers mon système de comptabilité et utilisent CodeIgniter pour mon application, et je peux le faire:

$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

Le code complet est franchement trop long à développer ici, mais vous devez avoir l'idée, et vous obtenez assez précis contrôle de mise en page.

16
répondu Femi 2011-05-06 17:09:42

je recommande de créer une représentation html / css de ce que vous voulez un PDF de et d'utiliser cela pour générer le PDF. Il y a des douzaines d'applications pour gérer la conversion, et il y a un bon fil avec beaucoup de réponses ici: convertir HTML + CSS en PDF avec PHP?

25
répondu Timothy Strimple 2017-05-23 11:45:30

vous pouvez regarder html2Pdf. Il s'agit d'une classe php basée sur FPDF et elle vous permet de créer un fichier PDF à partir de HTML. Il suffit donc de formater votre texte en utilisant html, puis de créer son pdf. Son très flexible et donner greate contrôle.

SourceForge Lien

1
répondu Shoaib Shakeel 2013-11-29 06:53:19

la génération PDF a tendance à être délicate. Aussi longtemps que la facture est relativement simple, je recommande de créer un fichier d'image de modèle et d'utiliser imagettftext pour imprimer des chaînes de caractères dessus (ou toute autre bibliothèque).

pour la conversion de fichier image en PDF imagemagick la suite d'outils peut être utilisée (tant qu'elle est disponible sur le serveur):

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

pour moi, toute l'approche a bien fonctionné.

0
répondu meliniak 2016-11-06 16:22:47

Checkout php-pdf-invoice bibliothèque de compositeur. La Bibliothèque est déjà conçue pour générer une facture donc c'est facile et rapide à intégrer!

composer require quickshiftin/php-pdf-invoice

vous pouvez générer des fichiers PDF qui ressemblent à ceci

Here's a sample invoice

il y a un exemple d'usage sur le README. Essentiellement vous implémentez deux interfaces, une pour les commandes, une autre pour les articles de commande. Vous pouvez configurer les polices et les couleurs à votre goût.

0
répondu quickshiftin 2017-08-18 15:08:51