J'essaie de convertir des données XML en PDF fichiers d'une page Web et j'espérais pouvoir le faire entièrement en JavaScript. Je dois être capable de dessiner du texte, des images et des formes simples. J'aimerais pouvoir le faire entièrement dans le navigateur.
Je viens d'écrire une bibliothèque appelée jsPDF qui génère des PDF à l'aide de Javascript uniquement. Il est encore très jeune et j'ajouterai bientôt des fonctionnalités et des corrections de bugs. Vous avez également quelques idées de solutions de contournement dans les navigateurs qui ne prennent pas en charge les URI de données. Il est sous licence libérale MIT.
Je suis tombé sur cette question avant de commencer à l'écrire et je pensais revenir et vous le faire savoir :)
Exemple: créez un fichier "Hello World" PDF.
// Default export is a4 paper, portrait, using milimeters for units
var doc = new jsPDF()
doc.text('Hello world!', 10, 10)
doc.save('a4.pdf')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
Une autre bibliothèque javascript qui mérite d'être mentionnée est pdfmake .
La prise en charge du navigateur ne semble pas être aussi forte que celle de jsPDF, et il ne semble pas y avoir d’option pour les formes, mais les options de formatage du texte sont plus avancées que les options actuellement disponibles dans jsPDF.
Je maintiens PDFKit , qui alimente également pdfmake (déjà mentionné ici). Cela fonctionne à la fois dans Node et dans le navigateur, et supporte un tas de choses que les autres bibliothèques ne font pas:
Consultez http://pdfkit.org/ pour un didacticiel complet permettant de voir par vous-même ce que PDFKit peut faire. Et pour obtenir un exemple des types de documents pouvant être produits, consultez la documentation en tant que PDF généré à partir de fichiers de Markdown utilisant PDFKit lui-même: http: // pdfkit.org/docs/guide.pdf .
Vous pouvez également l'essayer de manière interactive dans le navigateur ici: http://pdfkit.org/demo/browser.html .
Un autre projet intéressant est texlive.js .
Il vous permet de compiler (La) TeX en PDF dans le navigateur.
Vous pouvez utiliser ce service gratuit en ajoutant un lien qui crée un fichier PDF à partir de n’importe quelle URL (par exemple, http://www.phys.org ):