Je suis nouveau avec Vue.js et j'essaie de générer un fichier PDF, mais je ne sais pas comment le faire.
C'est ce que j'ai
import * as jsPDF from "jspdf"
export default {
props: ['id'],
methods: {
pdf () {
const doc = new jsPDF()
}
}
}
Erreur:
La propriété ou la méthode "pdf" n'est pas définie sur l'instance mais référencée lors du rendu
Commencez par importer la bibliothèque PDF en tant que:
import jsPDF from 'jspdf'
Ensuite, instanciez simplement l'objet et donnez-lui le contenu:
methods: {
createPDF () {
let pdfName = 'test';
var doc = new jsPDF();
doc.text("Hello World", 10, 10);
doc.save(pdfName + '.pdf');
}
}
Assurez-vous de lire le documentation pour plus
Télécharger le contenu de la page HTML, on peut suivre comme:
Spécifiez la référence à l'élément dont vous souhaitez télécharger le contenu en tant que pdf.
<div ref="content">
....
..
</div>
Créez un bouton de téléchargement comme
<button @click="download">Download PDF</button>
Assurez-vous d’ajouter et d’importer la bibliothèque jsPDF dans vue-composant
import jsPDF from 'jspdf'
Spécifiez la méthode dans le composant VUE comme
methods: {
download() {
const doc = new jsPDF();
const contentHtml = this.$refs.content.innerHTML;
doc.fromHTML(contentHtml, 15, 15, {
width: 170
});
doc.save("sample.pdf");
},
downloadWithCSS() {
const doc = new jsPDF();
/** WITH CSS */
var canvasElement = document.createElement('canvas');
html2canvas(this.$refs.content, { canvas: canvasElement
}).then(function (canvas) {
const img = canvas.toDataURL("image/jpeg", 0.8);
doc.addImage(img,'JPEG',20,20);
doc.save("sample.pdf");
});
},
}
Voir la démo @ Télécharger PDF via VUEJS .