pdfmake insert image
-
Hello,
I want to use a pdfmake library. I have this library in “statics/js”
To use it, I’ve got a button in a component that fires a method of pdfmake to generate a pdf in a new window.In the component (src/pages/checkListPdf.vue):
import docDef from "./documentDefinition.js";
Method in a component (with q-img component to check if soruce image works or not)
generarPDF: function () { // change q-img src component and it works !!! this.foto = "statics/logo.jpg" // opens new window with pdf content pdfMake.createPdf(docDef(this.foto)).open() }
PdfMake needs an object with special properties to perform the pdf conent (it’s also known as “document definition”).
I’ve written a custom module only to build de object (“document definition”) in a “documentDefinition.js” file.src/pages/pdfmake/documentDefinition.js
export default function (imatge) { var dd = { pageSize: 'A4', content: [ { // image: require('assets/logo.jpg'), // image: require('/statics/logo.jpg'), image: imatge, width: 150 }, { text: 'This is an example\n', fontSize: 30, bold: true, margin: [ 2, 240], alignment: "center" }, ], } return dd }
If I do not put object image in content propety array, it works (pdf opens in a new window with the text)
If I add the object image, then console throws the following error:[Vue warn]: Error in v-on handler: “Invalid image: File ‘./statics/logo.jpg’ not found in virtual file system
Images dictionary should contain dataURL entries (or local file paths in node.js)”The file exists at “src/statics” and it works in the component.
In the documentDefinition.js I’ve also tried putting…
image: ‘statics/logo.jpg’
image: ‘/statics/logo.jpg’
image: ‘…/…/statics/logo.jpg’ -
This post is deleted!