Convertisseur html vers PDF en ligne de commande - PHP - Programmation
Marsh Posté le 20-09-2011 à 15:51:20
ReplyMarsh Posté le 20-09-2011 à 16:27:55
LeRiton a écrit : http://code.google.com/p/wkhtmltopdf/ ? De très bons échos, mais jamais essayé. |
+1, il est awesome, je l'utilise tout le temps.
Marsh Posté le 20-09-2011 à 16:43:37
ok, merci, je vais tester ça
Marsh Posté le 20-02-2012 à 17:35:29
Pour ceux que ça intéresse, y'a une lib en php qui m'a l'air prometteuse : http://code.google.com/p/dompdf/
Contrairement à ce qui est dit, ça gère pas vraiment les @media (screen, print) automatiquement, faut dire dans le fichier de conf quel media il faut prendre. Le float est pas très bien géré non plus. Mais ça reste une bonne solution par rapport à ce qui existe
Marsh Posté le 20-02-2012 à 19:26:42
Différence par rapport à wkhtmltopdf (qui peut en plus s'intégrer dans n'importe quelle type de stack) ?
Marsh Posté le 21-02-2012 à 10:36:50
wkhtmltopdf est un binaire, donc se pose le pb de la compilation quand tu change d'OS. Tout le monde sait pas faire ça et si t'es pas en mesure de compiler sur la machine en question (parce que y'a pas les outils ou t'as pas les droits...),ben c'est mort. Si c'est une lib PHP, t'es cross-platform, donc beaucoup plus simple à installer.
Par contre, au niveau résultat, wkhtmltopdf est mieux car dans sa dernière version, il gère les règles @media et très bien les float.
Edit : d'un point de vue philosophie, comme j'ai compris, wkhtmltopdf est plus proche de l'imprimante virtuelle pdf et dompdf est plus une surcouche aux libs ba niveau com fpdf ou des libs plus évoluées, donc qui analyse le code html et css et font le rendu en pdf.
Marsh Posté le 21-02-2012 à 10:47:42
Oui, l'argument est plus que valable dans le cas d'un mutualisé ou autre hébergement cheap par exemple.
Par contre, pour un truc un peu costaud en prod, j'aime autant que le process soit séparé de celui / ceux de l'application en elle même, surtout que c'est du traitement potentiellement lourd.
Marsh Posté le 21-02-2012 à 11:00:01
J'ai une appli pro sur une serveur dédié, j'ai pris wkhtmltopdf mais j'ai justement un pb pour faire compiler la dernière version de cet outil car l'OS de mon serveur est plus tout jeune et les libs de dépendances de cette dernière version n'existent pas pour l'OS
J'ai une autre appli sur du mutualisé (debian 64 bits) et là, je peux pas compiler donc à moins de trouver qq'un qui va pouvoir me le compiler, je vais sans doute devoir me rabattre sur dompdf
Marsh Posté le 21-02-2012 à 11:17:42
T'aurais le même problème potentiel avec n'importe quelle lib (même PHP) qui aurait besoin d'appel système.
L'avantage de ton truc (j'ai pas regardé, donc je suppose), c'est que c'est une lib PHP pur qui fait un appel sur PDFLib pour le rendu post-traitement. Le jour où PDFLib ne compile pas sur ta plateforme, tu te retrouve aussi fucké que dans tes cas avec wkhtmltopdf.
Me semblait d'ailleurs que celui-ci était basé sur Qt, ça m'étonne que tu aies autant de problème de support.
Marsh Posté le 21-02-2012 à 11:38:34
Je parlais de libs sans appels systèmes ou alors que des appels à des binaires "posix", en gros, des commandes qu'on trouve sur tous les OS.
Pour PDFLib, j'ai l'impression que dompdf peut fonctionner sans. Sur ma station de test sous Windows xp, j'ai pas PDFLib et pourtant ça fonctionne... J'ai l'impression que cette lib est optionnelle du coup...
Marsh Posté le 20-09-2011 à 15:31:38
Bonjour,
Je suis à la recherche d'un convertisseur (ou imprimante virtuelle, au choix) de fichiers HTML/CSS vers PDF et utilisable en ligne de commande, sous licence libre (GPL, par ex). Il m'en faudrait un pour Windows et un autre pour Linux (si c'est un soft cross-plateform, je suis preneur) et qui sache gérer le CSS (pas forcément des trucs de fou, du css 2.1 basique).
J'ai essayé l'imprimante virtuelle amyuni PDF converter (j'ai la licence pour le coup) : ça convertit très bien, mais j'ai pas trouvé si c'est utilisable en ligne de commande
J'ai essayé PDFConverter, qui revient assez souvent sur le web quand on cherche ce genre de chose, mais j'ai pas réussi à le faire fonctionner en ligne de commande
J'ai essayé BullzipPDFPrinter : il gère pas très bien les CSS
Enfin, j'ai testé TotalHtmlConverter : il marche pas trop mal mais qq pbs avec le css et bizarrement, quand je l'appelle en ligne de commande via CMD, ça marche très bien, quand je l'appelle via php et shell_exec(), ça marche pas
qq'un aurait une solution svp? Merci
---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta