From 6a2b688c1c3a3b0238563dd569f41960c117d3eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E5=8D=951106?= <3028595966@qq.com> Date: Sun, 25 Aug 2024 12:47:19 +0000 Subject: [PATCH] update src/views/borad/BoradView.vue. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 严单1106 <3028595966@qq.com> --- src/views/borad/BoradView.vue | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/views/borad/BoradView.vue b/src/views/borad/BoradView.vue index 1d32298..e734e4b 100644 --- a/src/views/borad/BoradView.vue +++ b/src/views/borad/BoradView.vue @@ -2,6 +2,8 @@ import { ref } from 'vue' import { MenuOutlined, ArrowLeftOutlined } from '@ant-design/icons-vue'; import { useRouter } from 'vue-router'; +import { jsPDF } from 'jspdf'; +import html2canvas from 'html2canvas'; import ChatWindow from './components/chatWindow/ChatWindow.vue'; import HistoryChat from './components/historyChat/HistoryChat.vue'; import ChartBorad from './components/chartBorad/ChartBorad.vue'; @@ -27,6 +29,23 @@ const openHistoryWindow = () => { historyVisible.value = !historyVisible.value; //console.log(name) } +//导出 +const exportPdf = async () => { + try { + // 选择要导出的元素 + const chartContainer = document.getElementById('container'); + // 将元素转换为 canvas + const canvas = await html2canvas(chartContainer); + // 使用 canvas 来生成 PDF + const imgData = canvas.toDataURL('image/png'); + const pdf = new jsPDF('p', 'pt', 'a4'); + pdf.addImage(imgData, 'PNG', 0, 0); + // 导出 PDF + pdf.save('chart-board.pdf'); + } catch (error) { + console.error('导出 PDF 时出错:', error); + } +};