【发布时间】:2021-04-05 08:04:13
【问题描述】:
我想将 ag-grid 表转换为 pdf 文件并导出。出于这个原因,我使用“jspdf”库。 但现在我无法将 ag-grid 表格内容放入我的 pdf 中。
这是我的 ag-grid 表格部分
<button @click="createPDF">Download PDF</button>
<div ref="content" id="pdfTable" >
<ag-grid-vue
ref="agGridTable"
:components="components"
:gridOptions="gridOptions"
class="ag-theme-material w-100 my-4 ag-grid-table"
:columnDefs="columnDefs"
:defaultColDef="defaultColDef"
:rowData="usersData"
rowSelection="multiple"
colResizeDefault="shift"
:animateRows="true"
:floatingFilter="true"
:pagination="true"
:paginationPageSize="paginationPageSize"
:suppressPaginationPanel="true"
:enableRtl="$vs.rtl">
</ag-grid-vue>
</div>
在方法中:部分
createPDF (){
const doc = new jsPDF();
doc.html(this.$refs.content.innerHTML, {
callback: function (doc) {
doc.save('classroom report.pdf');
},
x: 10,
y: 10
});
},
我可以使用 jspdf 打印静态文本,但无法打印 ag-grid 表格数据。 还有其他简单的库可以用来将 ag-grid 表导出为 pdf 吗?
【问题讨论】:
-
您是在生成pdf时遇到问题还是下载生成的pdf时出现问题?我猜你不能 doc.save('filename.pdf') 因为你在浏览器中运行它,也许这个线程可能会有所帮助:stackoverflow.com/questions/17739816/…
-
下载没问题。我使用时生成的pdf为空白 - this.$refs.content.innerHTML
-
也许先尝试一个简单的 html,比如 '
' 并检查 dompdf 是否要成功生成 pdf .Hello -
是的,带有静态数据的简单 html 表可以工作,但在 ag-grid 的情况下,它是空白的
-
也许我们可以得到一个ag-grid的输出样本,也许它使用了dompdf不知道如何处理的标记......
标签: laravel vue.js pdf vue-component ag-grid