Est-il wkhtmltopdf option pour convertir html en texte plutôt que de fichier?
Je suis récemment tombé sur wkhtmltopdf, et avons trouvé pour être un excellent outil pour la volée de conversion de html au format pdf dans le navigateur.
Une utilisation typique (dans Windows):
wkhtmltopdf.exe --some-option "<div>Some html <b>formatted</b> text</div>" www.host.com/page_to_print.html file.pdf
Ma question est: Est-il une option pour utiliser <html><head></head><body><h1>This is a header</h1></body></html>
en place de www.host.com/page_to_print.html
?
Merci pour toute aide.
OriginalL'auteur Ifedi Okonkwo | 2014-02-18
Vous devez vous connecter pour publier un commentaire.
Oui et non.
Il n'y a pas de support natif, mais vous pouvez transférer le contenu dans wkhtmltopdf à l'aide de l'invite de commande windows pipe. Essayez cette commande:
Cela peut se lire comme "l'écho de ce texte, la sortie c'est la sortie standard stdout (standard cours d'eau) à wkhtmltopdf stdin (standard dans les cours d'eau)". Le tableau de bord
-
dans le wkhtmltopdf commande signifie qu'il prend son entrée stdin et non un fichier.Vous pouvez également écho HTML dans un fichier, un flux qui fichier à wkhtmltopdf, et supprimer ce fichier à l'intérieur d'un script.
Actuellement le meilleur de ressources pour la documentation sont http://wkhtmltopdf.org/usage/wkhtmltopdf.txt et http://madalgo.au.dk/~jakobt/wkhtmltoxdoc/wkhtmltopdf_0.10.0_rc2-doc.html - si vous avez lu à travers eux, il n'y a aucune mention de la saisie d'une chaîne de HTML comme ça.
shell_exec
ousystem
? Vous comprenez que je ne suis en fait pas directement la programmation de la ligne de commande 😉Je pense que c'est possible, mais je ne l'ai jamais fait. Ce que le tuyau n'est de capturer le flux de sortie de la première commande et d'alimentation pour le flux d'entrée de la deuxième commande, de sorte que vous pourriez avoir à contrôler le flux de vous-même. Maintenant, je n'ai jamais fait ça avec PHP, mais il y a une belle relatifs féliciter sur le site de PHP: fi2.php.net/shell_exec#67183 - même si il est très vieux. Désolé, mais je n'ai pas un environnement de tester par moi même pour le moment :(.
Même j'ai été à la recherche pour la même chose, très utile de répondre. Mais savez-vous pourquoi il insère
"magical ponies"
(avec les guillemets) dans le pdf ? Comment résoudre ce problème ? J'ai exécutéecho "<h3>magical ponies</h3>" | wkhtmltopdf.exe - test.pdf
OriginalL'auteur Nenotlep
Juste une correction de la réponse fournie par Nenotlep. Comme Jigar noté (dans un commentaire à Nenotlep de réponse), Nenotlep de commande se traduit par des guillemets avant et après le texte. Sur mon système (Windows 10) cette commande est la bonne solution:
La
echo
commande nécessite pas de guillemets - mais, si vous n'avez pas de mettre le texte entre guillemets, le<
et>
caractères doivent être échappés (par^
).Une autre façon d'essayer écrit le texte dans un fichier temporaire, qui - Windows - peut-être même plus vite que certains sources état:
(Ce qui peut aussi être écrit en une ligne: il suffit de mettre une
&
entre les deux commandes.)OriginalL'auteur booFar
À l'aide de PowerShell, vous pouvez le faire comme ceci:
Juste assurez-vous que vous êtes en cours d'exécution du code à partir de la
\bin\
répertoire dewkhtmltopdf
, sinon, vous auriez à fournir un chemin d'accès complet vers le fichier exécutable.OriginalL'auteur Ifedi Okonkwo
En plus de la réponse fournie par le pp. Si vous préférez ne pas échapper à la
<
>
caractères, vous pouvez également effectuer les opérations suivantes:OriginalL'auteur QuiOui