Utiliser wkhtmltopdf sous Windows
Je suis en train de mettre en place la chouette HTML pour l'image de plugin appelé wkhtmltopdf, et je vais avoir une période très difficile.
Ce que j'ai fait jusqu'à présent:
- Téléchargé wkhtmltopdf package zip et upacked le fichier dans mes sites dossier racine
- Comme un test, j'ai inclus le code suivant dans mon index.php fichier, je m'attends à enregistrer le contenu de bbc.com site web .jpg image dans mes sites dossier racine:
..shell_exec('./wkhtmltopdf de qualité de 50 http://www.bbc.com bbc.jpg');
Rien ne semble se produire. PHP est pas exécute en mode sans échec, si ce n'est pas le problème. shell_exec est en cours d'exécution, j'ai été en mesure de créer un .txt document à l'aide d'.
J'ai fait des recherches sur cela pendant des jours, je vous propose 100 bounty à quelqu'un qui peut venir avec une claire, simplifiée étape-par-étape de travail guide sur la façon de configurer wkhtmltopdf sur les Veuves à exécuter à l'aide de PHP.
Plus précisément, je suis à la recherche d' simplifié de plain-pied à travers la marche à suivre:
- Configurer wkhtmltopdf pour s'exécuter sur Windows à l'aide de php (inclure des détails sur des problèmes communs et comment les surmonter).
- Sur le clic d'un bouton ou d'un lien: imprimer le "courant" de la page web en pdf, y compris tous remplis entrée valeurs (inclure les exemples de code pour cette partie). Les pages web avec les événements qui changent le contenu de la page, imprimer le actuel version de la page, pas l'état initial de la page.
- Créer un lien de téléchargement de la .pdf créé, onClick de la même fonction mentionnés ci-dessus qui crée et imprime au format pdf (inclure les exemples de code pour cette partie).
source d'informationauteur AnchovyLegend
Vous devez vous connecter pour publier un commentaire.
Je me rends compte que c'est une vieille question, mais puisque c'est la seule bibliothèque, j'ai trouvé à imprimer à partir de l'HTML au format PDF et de conserver les images et les couleurs d'arrière-plan, j'utilise l'Invite de Commande Windows. J'ai l'habitude d'utiliser PDF Architecte, mais il n'a jamais été capable de gérer les couleurs d'arrière-plan.
Lorsque vous installez wkhtmltopdf, il va en soit c:\Program Files\wkhtmltopdf\ ou c:\Program Files (x86)\wkhtmltopdf.
Disons que vous avez un local de l'environnement PHP où
http://localhost/
est défini comme votre point de départ. Disons aussi que vous avez un fichier qui s'appelle html_invoice.html et que vous souhaitez l'imprimer dans un fichier appelé dev_invoice_200.pdf et le mettre dans votre dossier de factures à l'intérieur de l'xampp serveur web. Pour ce faire, vous lancez l'invite de commande Windows (c'est à dire Démarrer -> Tous les Programmes> Accessoires -> Invite de Commande ou Démarrer -> Exécuter -> cmd) et tapez:Cela va créer le fichier PDF dans le bon endroit.
Puisque nous sommes à l'aide de l'invite de commande Windows, il n'y a vraiment aucune raison d'utiliser PHP. Au lieu de cela, nous pouvons utiliser un fichier de commandes, et si nous avons besoin d'automatiser cela, nous pouvons utiliser le Planificateur de Tâches de Windows pour appeler le fichier de commandes (Démarrer> Tous les Programmes> Accessoires -> Outils Système -> le Planificateur de Tâches).
Si vous ne l'avez jamais fait des fichiers batch, il suffit de taper les commandes que vous voulez faire dans un fichier texte et l'enregistrer avec un .extension bat.
Donc, disons que nous voulons toujours imprimer le fichier html_invoice.html au même endroit dans les factures dossier avec un nom de dev_invoice.pdf et que nous allons changer de nom après il y arrive. Tu venais de mettre la ligne au-dessus de moins la "_200" dans un fichier texte et l'enregistrer en tant que .chauve-souris, puis double-cliquez sur dans Windows ou le lancer via le Planificateur de Tâches.
C'est un peu du mal à voir quel est le réel problème ici, mais j'ai fait une blag post tutoriel sur l'obtention de wkhtmltopdf de répondre dans un Windows 7 /Environnement PHP. Posez-vous la question si vous avez besoin de plus de détails - je suis sûr que cela ne couvre pas votre problème.
Comme je l'ai dit dans les commentaires, votre appel de fonction
shell_exec('./wkhtmltopdf --quality 50 http://www.bbc.com bbc.jpg');
va échouer, car wkhtmltopdf et wkhtmltoimage sont différents programmes et accepter les différentes options de ligne de commande. Remplacer wkhtmltopdf avec wkhtmltoimage dans la commande et vous pourriez obtenir un fichier de sortie généré. Je crois que dans votre cas, un test d'exécution commeshell_exec('c:\wkhtmltopdf\wkhtmltopdf www.google.com goog.pdf 2>> err3.txt 1>> out3.txt');
serait plus intéressant car il vous permet de voir toutes les différentes entrées/sorties wkhtmltopdf.