gpt4 book ai didi

javascript - Vue-tables-2 使用 pdfmake 库从多个选定的表格行创建 pdf 文件

转载 作者:搜寻专家 更新时间:2023-10-30 22:37:05 27 4
gpt4 key购买 nike

我想在 vue-tables-2 中创建一个包含多个选定行的 pdf。我找到了一个名为 pdfmake 的 pdf 库看起来很棒。作为新手,我正在努力了解如何:

  1. 将其放入 vue-tables-2 组件中。我是否将其导入组件?
  2. 如何创建包含多个选定表格行数据的 pdf?我有 tableData 内容的 this.checkedRows。我如何将其放入 pdf 中?

我看到 pdfmake 如何有构建数据表内容的说明,但我怎样才能使它与 vue-tables-2 一起工作? pdfmake table content screenshot

如果有人知道更好的 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>

我的数据内容现在只是一个非常简单的原型(prototype):

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');
}



}
}

关于javascript - Vue-tables-2 使用 pdfmake 库从多个选定的表格行创建 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52609607/

27 4 0