297 votes

Générer des fichiers PDF avec JavaScript

J'essaie de convertir des données XML en fichiers PDF à partir d'une page Web et j'espérais pouvoir le faire entièrement en JavaScript. Je dois être en mesure de dessiner du texte, des images et des formes simples. J'aimerais pouvoir le faire entièrement dans le navigateur.

1voto

Il existe déjà une bibliothèque Actionscript 3.0 open source qui peut générer des PDF 100% côté client.

http://alivepdf.bytearray.org/

En théorie, il devrait être possible de le faire en Javascript également, je pense, mais cela semble plutôt complexe.

Si l'utilisation de Flash est acceptable, vous pourriez probablement écrire du code AS glue pour prendre les données de JS (en les envoyant sous forme de JSON, par exemple), et utiliser la bibliothèque pour générer le PDF.

1voto

Leon Points 1

Vous pouvez utiliser ce service gratuit en ajoutant un lien qui crée un pdf à partir de n'importe quelle url (par ex. http://www.phys.org ) :

http://freehtmltopdf.com/?convert=http%3A%2F%2Fwww.phys.org&size=US_Letter&orientation=portrait&framesize=800&language=en

2 votes

Mise à jour : Quand je suis allé vérifier ce freehtmltopdf.com le service a dit qu'il n'était plus disponible. On dirait que c'était génial !

0 votes

J'ai vérifié maintenant - ça marche. et c'est incroyable, j'utilise un service où je paie pour chaque pdf, et j'ai besoin de coder, c'est une telle solution de problème.

-38voto

Frank Krueger Points 27508

Même si vous pouviez générer le PDF en mémoire en JavaScript, vous seriez toujours confronté au problème du transfert des données à l'utilisateur. Il est difficile pour JavaScript de simplement pousser un fichier vers l'utilisateur.

Pour transmettre le fichier à l'utilisateur, vous devez effectuer une soumission au serveur afin que le navigateur affiche la boîte de dialogue d'enregistrement.

Cela dit, il n'est vraiment pas très difficile de générer des PDF. Il suffit de lire les spécifications.

3 votes

Ce n'est pas difficile du tout, par exemple, cela semble fonctionner avec les Data-URIs. fr.wikipedia.org/wiki/Data_URI_scheme (Je l'ai déjà fait auparavant mais je ne me souviens pas si j'ai utilisé des Data-URIs).

66 votes

De nos jours, vous pouvez facilement créer des fichiers en JavaScript. (Je viens du futur)

5 votes

C'est vraiment simple de nos jours regardez ça par exemple : github.com/ChenWenBrian/FileSaver.js

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X