Convertir HTML (avec Javascript) en PDF en utilisant JavaScript

Je veux convertir HTML (contenant JavaScript) en PDF. Comment puis je faire ça?

Je veux juste montrer ce qui est montré sur la page Web. Je affiche un diagramme gantt généré par une bibliothèque JavaScript.

Maintenant, je veux enregistrer cette page Web HTML en format PDF, comment faire cela?

Nous recherchons également un moyen de convertir des fichiers html avec javascript complexe en pdf. Le javasript dans nos fichiers contient document.write et la manipulation DOM.

Nous avons essayé d'utiliser une combinaison de HtmlUnit pour analyser les fichiers et Flying Saucer pour rendre en pdf, mais les résultats ne sont pas assez satisfaisants. Cela fonctionne, mais dans notre cas, le pdf n'est pas assez proche de ce que l'utilisateur souhaite.

Si vous voulez essayer cela, voici un extrait de code pour convertir un fichier html local en pdf.

 URL url = new File("test.html").toURI().toURL(); WebClient webClient = new WebClient(); HtmlPage page = webClient.getPage(url); OutputStream os = null; try{ os = new FileOutputStream("test.pdf"); ITextRenderer renderer = new ITextRenderer(); renderer.setDocument(page,url.toString()); renderer.layout(); renderer.createPDF(os); } finally{ if(os != null) os.close(); } 

Vous pouvez utiliser iText pour Java pour convertir en PDF.

Utilisation de itext pour convertir HTML en PDF

J'ai utilisé iText beaucoup et c'est très simple et vous l'apprenez rapidement.

Utilisez un widget de navigateur ( comme celui de SWT ) pour rendre le graphique en image, puis utilisez iText pour créer un fichier PDF à partir de cela.

Je recommande d'utiliser wkhtmltopdf: http://wkhtmltopdf.org/

En utilisant l' élément de menu Print... du navigateur, vous pouvez utiliser un pilote d'imprimante PDF , comme PDFCreator . De cette façon, tout JavaScript inclus dans la page est traité par le navigateur lorsque la page est rendue.

PDFCreator est un outil gratuit pour créer des fichiers PDF à partir de presque toutes les applications Windows.

  • Créer des fichiers PDF à partir de n'importe quel programme capable d'imprimer

Avec Docmosis ou JODReports, vous pouvez alimenter votre HTML et votre Javascript vers le processus de rendu du document qui pourrait produire du PDF ou du document ou d'autres formats. La conversion en dessous est effectuée par OpenOffice afin que les résultats dépendent des filtres d'importation OpenOffice. Vous pouvez essayer manuellement en sauvegardant votre page Web dans un fichier, puis en le chargeant avec OpenOffice – si cela semble être suffisant, ces outils pourront vous donner le même résultat qu'un PDF.

Copiez et collez ceci dans votre site pour fournir un lien qui va convertir la page en une page PDF.

 <a href="javascript:void(window.open('http://www.htmltopdfconverter.net/?convert='+window.location))">Convert To PDF</a> 

Essayez TableExport, un plugin jQuery.

https://github.com/kayalshri/tableExport.jquery.plugin

PhantomJS a le potentiel d'y parvenir avec sa fonctionnalité de capture qui prend également en charge le PDF.

Dans le cas où vous voulez quelque chose qui est interactable sur la ligne de commande; J'ai essayé de construire une application pour celle appelée Nota (encore dans sa petite enfance). Il permet à JavaScript de reproduire / manipuler, puis de capturer la page en format PDF.

Consultez ceci http://www.techumber.com/2015/04/html-to-pdf-conversion-using-javascript.html

Fondamentalement, vous devez utiliser html2canvas et jspdf pour le faire fonctionner. D'abord, vous transformerez votre dom en image, puis vous utiliserez jspdf pour créer des pdf avec les images.

EDIT: Une petite note sur la façon dont cela fonctionne. Nous utiliserons deux bibliothèques pour faire ce travail. http://html2canvas.hertzen.com/ et https://github.com/MrRio/jsPDF Tout d'abord, nous créerons une image dom en utilisant html2 pour les utiliser, nous utiliserons la méthode jspdf addImage pour ajouter cette image au pdf. Il semble simple, mais il y a peu de bugs dans jsPdf et html2cavas, vous devrez peut-être changer temporairement le style dom. J'espère que cela t'aides.

Vous pouvez le faire en utilisant un plugin jquery,

C'est le lien . Cependant, ses instructions peuvent ne pas fonctionner, alors utilisez ce lien pour obtenir le plugin, il fonctionne

Utilisez ce code pour lier le bouton …

 $(document).ready(function() { $("#button_id").click(function() { window.print(); return false; }); }); 

Ce lien peut également vous aider: 10 jQuery PrintPdf Page Options