web-dev-qa-db-fra.com

Conversion de HTML en PDF en utilisant PHP?

Duplicata possible:
Convertir HTML + CSS en PDF avec PHP?

Est-il possible de convertir une page HTML en PDF en utilisant PHP, et si oui, comment le faire?

Plus précisément, la page est une facture générée dynamiquement. Je voudrais donc qu'il soit chargé en utilisant:

http://example.com/invoices/3333

Et la sortie HTML devrait être convertie en PDF.

Toutes les bonnes bibliothèques qui font cela iront bien.

54
Click Upvote

Si vous souhaitez créer un pdf de php, pdflib vous aidera (comme certains l'ont suggéré).

Sinon, si vous voulez convertir une page HTML vers PDF via PHP , vous trouverez un peu de mal d'ici .. Depuis 3 ans, j'essaie de le faire du mieux que je peux.

Donc, les options que je connais sont:

DOMPDF : classe php qui encapsule le html et construit le pdf. Fonctionne bien, personnalisable (si vous connaissez php), basé sur pdflib, si je me souviens bien, cela prend même un peu de CSS. Mauvaise nouvelle: lent lorsque le html est gros ou complexe.

HTML2PS : identique à DOMPDF, mais celui-ci se convertit d'abord en fichier .ps (ghostscript), puis au format dont vous avez besoin (pdf, jpg, png). Pour moi, c'est un peu mieux que dompdf, mais a le même problème de vitesse .. mais, une meilleure compatibilité avec CSS.

Ces deux sont des classes php, mais si vous pouvez installer des logiciels sur le serveur et y accéder via passthru () ou system (), jetez un œil à ceux-ci aussi:

wkhtmltopdf : basé sur webkit (wrapper de safari), est vraiment rapide et puissant .. semble être le meilleur (atm) pour convertir des pages html en pdf à la volée; prendre seulement 2 secondes pour un document xHTML de 3 pages avec CSS2. C'est un projet récent, de toute façon, la page google.code est souvent mise à jour.

htmldoc : Celui-ci est un tank, il ne s'arrête/ne plante jamais vraiment .. le projet a l'air mort depuis 2007, mais de toute façon si vous n'avez pas besoin de compatibilité CSS, cela peut être bien pour vous.

60
Strae

qu'en est-il de TCPDF ?

a beaucoup de fonctionnalités, et l'un des avantages de l'utiliser, vous pouvez convertir html en pdf à la volée

5
norewind

Personnellement, je ne fais pas confiance à tous les services offerts gratuitement. Voici une application que vous pouvez télécharger: http://www.tufat.com/script19.htm

3
soulmerge

Vous pouvez utiliser PDFlib . Il y a une documentation sur php.net sur la façon de l'utiliser . Hélas, vous devez vivre avec un filigrane plutôt intrusif si vous n'achetez pas de licence pour PDFlib.

1
Michael Klement

dompdf: https://github.com/dompdf/dompdf

prend une chaîne d'entrée html et renvoie la chaîne pdf.

ce n'est pas la qualité au niveau du navigateur et a des problèmes avec css, mais cela fonctionne assez bien pour les documents texte simples.

1
stefs

Aussi celui-ci qui fait du bon travail: html2pdf

1
stout

Les problèmes avec les classes php sont AFAIK 2:

  1. Vitesse: php prend beaucoup de temps pour analyser la structure html et la convertir en pdf avec pdflib
  2. Fiabilité: quand un nouvel attribut css ou style arrivera, comment garder les mises à jour du script? combien de temps?

Je pense que la seule façon d'avoir une conversion précise est d'utiliser un wrapper de navigateur car, pour la définition, ce sera toujours le meilleur lecteur html.

Je suggère un autre lien avec une comparaison: [[# #]] lien [~ # ~] C'est là que je lis sur wkhtmltopdf .. lire aussi tous les commentaires, beaucoup d'autres façons sont là .. .

0
Strae

Oui absolument.

Il existe des solutions standard que vous pouvez acheter qui accepteront une entrée HTML et convertiront le fichier eh pour vous.

Il existe également un PDFLib commun que vous pouvez utiliser pour générer vos PDF en utilisant PHP mais il vous oblige à les créer manuellement en définissant tous les éléments sur la page.

C'est n autre J'ai utilisé ça a été plutôt sympa

0
jerebear