diff --git a/src/views/borad/BoradView.vue b/src/views/borad/BoradView.vue index 1d32298701f0c7b0adb17f224666d36525756a42..e734e4b09e8508fc0c2862d81aacf6717f4f06f2 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); + } +};