Générer un fichier PDF sur le côté client en utilisant JSPDF
Dans mon application, j'ai besoin de télécharger le pdf de l'analyse HTML côté client lui-même. Pour la génération de pdf sur le côté client, je suis en utilisant jsPdf. Voici mon code.
PdfGenerator.java
public static native String createPDF() /*-{
$wnd.createPDF();
}-*/;
entrypoint.html
function createPDF(){
try {
var doc = new jsPDF();
doc.text(20, 20, 'This PDF has a title, subject, author, keywords and a crea');
doc.output('datauri');
var out = doc.output();
var url = 'data:application/pdf;base64,' + Base64.encode(out);
document.location.href = url;
} catch (e) {
return e.message;
}
return "";
};
J'ai ajouté tous les js dans mon projet et défini le script. Mais chaque fois que j'appelle cette méthode, puis c'est de donner de sortie "sprintf n'est pas défini.".
S'il vous plaît laissez-moi savoir si je suis absent quelque chose.
OriginalL'auteur RAS | 2012-08-15
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous avez oublié d'ajouter les scripts pour
sprintf.js
etbase64 js
. CommejsPdf.js
utilise en interne ces deux js.entrypoint.html
veuillez consulter ce lien http://forums.webhosting.uk.com/web-designing-development/6718-jspdf-generating-your-pdf-web-page-documents-using-javascript.html
OriginalL'auteur PVR
Dans les dernières versions de jsPDF, vous n'avez pas besoin base64 ou sprintf, juste jspdf.min.js trouvé dans la "dist" dossier, comprend tous les plugins (sauf downloadify/swfobject).
Juste la mise à jour d'un vieux billet, si quelqu'un traverse quand à essayer de comprendre jsPDF en raison de ce n'est pas une bonne documentation.
OriginalL'auteur trudesign
Selon le navigateur que vous soutenez (toutes les versions du navigateur, et IE 10+), vous n'avez même pas besoin d'inclure
Base64.encode()
. Appelez simplementbtoa()
à la place.OriginalL'auteur jcaruso