![](/img/trans.png)
[英]Vue-tables-2 create .pdf (pdfmake) 'malformed table row' error
[英]Vue-tables-2 create pdf file from multiple selected table rows using pdfmake library
我想在 vue-tables-2 中創建多個選定行的 pdf。 我找到了一個名為pdfmake的 pdf 庫,它看起來很棒。 作為新手,我正在努力了解如何:
this.checkedRows
內容的this.checkedRows
。 我如何將其放入pdf?我看到 pdfmake 有如何構建數據表內容的說明,但是我如何使用 vue-tables-2 使其工作? pdfmake 表格內容截圖
如果有人知道一個更好的 vue-tables-2 pdf 庫,請告訴我。 到目前為止,這是我的代碼...
<v-server-table url="/removals" :data="tableData" :columns="columns" :options="options">
<input slot="selected" slot-scope="props" type="checkbox" :checked="props.row.selected" v-model="checkedRows" :value="props.row">
<button slot="afterFilter" type="submit" @click="createPDF">Create PDF</button>
</v-server-table>
我的數據內容現在只是一個非常簡單的原型:
data() {
return {
tableData: [],
checkedRows: [],
columns: [
'selected',
'sku',
],
options: {
}
}
還有我的方法...
methods: {
createPDF() {
pdfMake.createPdf(docDefinition).download('PO.pdf');
}
}
您可以使用以下命令安裝pdfmake
:
npm install pdfmake --save-dev
並按如下方式導入和使用它
<template>....</template>
<script>
var pdfMake = require('pdfmake/build/pdfmake.js');
var pdfFonts = require('pdfmake/build/vfs_fonts.js');
pdfMake.vfs = pdfFonts.pdfMake.vfs;
export default{
data() {
return {
tableData: [],
checkedRows: [],
columns: [
'selected',
'sku',
],
options: {
}
},
methods: {
createPDF() {
var docDefinition = {
content: [
{
table: {
headerRows: 1,
widths: [ '*', 'auto', 100, '*' ],
body: []
}
}
]
};
docDefinition.content[0].table.body.push(this.columns);
for(var i=0;i<this.checkedRows.length;i++){
docDefinition.content[0].table.body.push(Object.values(this.checkedRows[i]));
}
pdfMake.createPdf(docDefinition).download('PO.pdf');
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.